Linuxの絶対パスと相対パス入門|WindowsユーザーがCドライブなしのパス指定を理解する方法

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)【Linux入門】初心者のための基礎知識・講座 > Linuxの絶対パスと相対パス入門|WindowsユーザーがCドライブなしのパス指定を理解する方法
「cdコマンドを実行したらエラーになった」「/とか../とか、Linuxのパスの書き方が全然わからない」という声は、初心者の方から本当によく聞きます。
Windowsに慣れていると、「C:\Users\名前\Documents」ではなく「/home/名前/documents」と書くLinuxのパス表記は、最初ひどく異質に見えるはずです。

この記事では、絶対パスと相対パスの違いをWindowsとの比較を交えながら解説します。よく使う記号の意味、「No such file or directory」エラーを自力で解決する方法まで、WSL2・VPS環境の実機出力を使って一通りカバーします。

動作確認環境: Ubuntu 24.04 LTS(WSL2)、Rocky Linux 9.4(VPS)

この記事のポイント

・ Linuxは「/(ルート)」を頂点とした1本のツリー構造(Cドライブは存在しない)
・ 絶対パスは / から始まり、どこにいても同じ場所を正確に指す
・ 相対パスはカレントディレクトリを基点に書く短縮表現
・ .(現在地)と..(一つ上)を覚えるだけでパスエラーの大半は自力解決できる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

LinuxにはなぜCドライブがないのか

Windowsでは「C:\Users\名前\Desktop」のように、ディスクのドライブレター(C、Dなど)がパスの先頭に来ます。ところがLinuxには「Cドライブ」という概念がありません。

Linuxは 「/(スラッシュ)」 という1点を頂点として、そこから枝のように全ディレクトリが広がる ツリー構造 になっています。「どのディスクか」という情報はパスに書かず、ディスクはツリーのどこかに「マウント(取り付け)」する形で扱います。
OS ファイルの場所の表現例
Windows C:\Users\taro\Documents\report.txt
Linux /home/taro/documents/report.txt
Linuxのスラッシュ(/)は「ディレクトリの区切り記号」でもあり、「ツリーの頂点(ルート)」でもあります。最初は「そういうものだ」と受け入れてしまって大丈夫です。

代表的なディレクトリを把握しておきましょう。

/home:ユーザーのデータを置く場所(Windowsの「C:\Users」に相当)
/etc:設定ファイルが集まる場所
/var:ログなど、実行中に変化するファイルの置き場
/usr:インストールされたコマンドやライブラリの置き場

各ディレクトリの詳しい役割は、別記事「Linuxのディレクトリ構造」でも解説しています(記事末尾にリンクあり)。

絶対パスとは何か

絶対パスとは、「/(ルート)」から始まる完全な住所のことです。

/home/taro/documents/report.txt

これは「ルート → home → taro → documents → report.txt」という経路をそのまま書いたものです。絶対パスは自分が今どのディレクトリにいるかに関係なく、常に同じ場所を指します。

1. pwdコマンドで現在地を確認する

Linuxのターミナルを使うとき、「今自分がどのディレクトリにいるか」を常に意識する必要があります。pwd(Print Working Directory) コマンドで確認できます。

# 現在地を確認する(WSL2 Ubuntu環境の例) taro@DESKTOP-AB12CD:~$ pwd /home/taro # ルートの直下に移動して再確認する taro@DESKTOP-AB12CD:~$ cd / taro@DESKTOP-AB12CD:/$ pwd /

プロンプトに含まれる ~(チルダ)はホームディレクトリ(/home/自分のユーザー名)を意味します。/ が表示されていればルートにいることを示しています。

2. 絶対パスでファイルの内容を確認する

絶対パスを使えば、どのディレクトリにいてもファイルを操作できます。

# /etc/hostname の内容を絶対パスで確認する(VPS環境の例) [taro@vps-server ~]$ cat /etc/hostname web-server-01.example.com # 現在地が /var/log にいても、同じ絶対パスで参照できる [taro@vps-server ~]$ cd /var/log [taro@vps-server log]$ cat /etc/hostname web-server-01.example.com

相対パスとは何か

相対パスとは、現在いるディレクトリ(カレントディレクトリ)を基点にした書き方です。/ から始めず、今いる場所からの「道順」を書きます。

1. .(ドット)と..(ドット2つ)の意味

相対パスで最も重要な記号が .(ドット1つ)と ..(ドット2つ)です。

.(ドット1つ):現在のディレクトリそのもの
..(ドット2つ):1つ上のディレクトリ(親ディレクトリ)

# 現在地を確認 taro@DESKTOP-AB12CD:~$ pwd /home/taro/documents # 1つ上(/home/taro)に移動する taro@DESKTOP-AB12CD:~/documents$ cd .. taro@DESKTOP-AB12CD:~$ pwd /home/taro # さらに1つ上(/home)に移動する taro@DESKTOP-AB12CD:~$ cd .. taro@DESKTOP-AB12CD:/home$ pwd /home # 2つ上に一気に移動する書き方 taro@DESKTOP-AB12CD:~$ cd documents taro@DESKTOP-AB12CD:~/documents$ cd ../.. taro@DESKTOP-AB12CD:/home$ pwd /home

2. 相対パスでファイルを操作する

現在地が /home/taro の場合、同じディレクトリ内の documents フォルダのファイルは相対パスでこう書きます。

# 現在地: /home/taro taro@DESKTOP-AB12CD:~$ pwd /home/taro # 相対パスでファイル内容を確認(./は省略してもよい) taro@DESKTOP-AB12CD:~$ cat documents/report.txt プロジェクト報告書 作成日: 2026-08-29 # 絶対パスで書いても結果は同じ taro@DESKTOP-AB12CD:~$ cat /home/taro/documents/report.txt プロジェクト報告書 作成日: 2026-08-29

3. ~(チルダ)はホームディレクトリの略記

~(チルダ)は自分のホームディレクトリ(/home/自分のユーザー名)の略記として使えます。絶対パスの代わりに使えるので、入力の手間が大幅に省けます。

# どこにいても、cdだけでホームディレクトリに戻る taro@DESKTOP-AB12CD:/var/log$ cd taro@DESKTOP-AB12CD:~$ pwd /home/taro # cd ~ でも同じ taro@DESKTOP-AB12CD:/etc$ cd ~ taro@DESKTOP-AB12CD:~$ pwd /home/taro # ~ を使ったパス指定(/home/taro/documents と同じ意味) taro@DESKTOP-AB12CD:/tmp$ ls ~/documents report.txt memo.txt backup.tar.gz

絶対パスと相対パスの使い分け

どちらを使うべきか迷ったときの判断基準をまとめます。

シェルスクリプトや設定ファイル:絶対パスを使う(どこから実行されても正しく動くため)
ターミナルでの作業中:相対パスのほうが入力が短くて済む
ホームディレクトリ関連:~(チルダ)を積極的に活用する

# シェルスクリプトでの書き方(絶対パス推奨) LOG_FILE=/var/log/myapp/app.log BACKUP_DIR=/home/taro/backup # ターミナルでの作業(相対パス・入力効率重視) taro@DESKTOP-AB12CD:~$ cd projects/myapp taro@DESKTOP-AB12CD:~/projects/myapp$ vim config/settings.conf

スクリプトで相対パスを使うと、実行するカレントディレクトリによって動作が変わってしまいます。cronで自動実行するときは特に注意が必要で、スクリプトの中では絶対パスで書くのが現場の鉄則です。

よくあるミスとトラブルシュート

1. 「No such file or directory」が出たとき

このエラーが出る原因の大半は、パスの書き間違いです。以下の手順で確認してください。

# エラーが出た例 taro@DESKTOP-AB12CD:~$ cat documments/report.txt cat: documments/report.txt: No such file or directory # 手順1: 現在地を確認する taro@DESKTOP-AB12CD:~$ pwd /home/taro # 手順2: 目当てのディレクトリが存在するか確認する taro@DESKTOP-AB12CD:~$ ls documents downloads projects # 手順3: ディレクトリ内のファイルを確認する taro@DESKTOP-AB12CD:~$ ls documents/ report.txt memo.txt # →「documments」ではなく「documents」が正しかった # 手順4: 正しいパスで再実行する taro@DESKTOP-AB12CD:~$ cat documents/report.txt

2. スペースが入ったパスはクォートで囲む

ファイル名やディレクトリ名にスペースが含まれている場合、クォート(引用符)で囲む必要があります。Windowsから持ち込んだファイルでよく起きるパターンです。

# スペース入りのディレクトリ名(NG例) taro@DESKTOP-AB12CD:~$ cd my documents bash: cd: my: No such file or directory # シングルクォートで囲む(OK) taro@DESKTOP-AB12CD:~$ cd 'my documents' taro@DESKTOP-AB12CD:~/my documents$ # ダブルクォートでも動く taro@DESKTOP-AB12CD:~$ cd "my documents" # バックスラッシュでスペースをエスケープする方法もある taro@DESKTOP-AB12CD:~$ cd my\ documents

3. パスを間違えたまま rm を実行するのは危険

パスエラーが出るうちはまだ安全です。本当に危険なのは、間違ったパスを確認せずに rm(削除コマンド)と組み合わせてしまうケースです。特に -r(再帰削除)オプションを付けると、ディレクトリごと削除されます。

削除前に ls で対象を確認するのが実務上の鉄則です。

本記事のまとめ

やりたいこと コマンド・書き方
現在地を確認する pwd
ホームディレクトリに戻る cd ~ または cd
1つ上のディレクトリに移動する cd ..
絶対パスでファイルを指定する /home/taro/documents/report.txt
相対パスでサブディレクトリを指定する documents/report.txt
スペース入りパスを扱う 'my documents/file.txt'
ホームディレクトリ配下を短く書く ~/documents/report.txt
Linuxのパスはルール自体はシンプルです。「/から始まる = 絶対パス」「現在地から始まる = 相対パス」この2点を押さえれば、コマンドラインでの作業のほとんどが自力で解決できるようになります。

次のステップとして、ファイル権限(chmod)やシェルスクリプトの自動化に進むと、Linux操作の幅が一気に広がります。下のリンクから関連記事に進んでください。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>

次に読む記事

パスの仕組みを理解したら、次は実務で使えるLinux技術を身につけましょう。

Linuxのファイル権限完全ガイド|chmod・chown・umaskの基礎と実務でよく使う設定(ファイル権限・セキュリティ)
Linuxサーバーの初期セキュリティ設定チェックリスト|公開直後にやるべき10項目を実機で解説(サーバーセキュリティ)
Rocky Linuxサーバーを構築する手順|最小インストールから初期設定・Webサーバー公開まで(サーバー構築)
シェルスクリプトのバッチ処理設計|大量ファイルの進捗管理と途中再開を実装する方法(シェルスクリプト自動化)
Linuxサーバーのネットワーク設定をsystemd-networkdで管理する方法(ネットワーク設定)
mkfsコマンドでLinuxのファイルシステムを作成する方法|ext4・xfsの使い分けとfstab設定も(ファイルシステム・ストレージ)
AIにLinuxトラブルを解析させる方法|journalctl・dmesgのログをChatGPT・Claudeに渡すコツ(トラブルシューティング)

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。