Linux入門

パスの概念を完全理解【絶対パス vs 相対パス】

Linux入門
記事内に広告が含まれています。

cd Documents って打ったら『そんなディレクトリはない』って言われた…」

このエラー、実はパスの指定ミスが原因であることがほとんどです。この記事では、Linuxを使う上で必須の概念「パス(Path)」を完全解説します。絶対パスと相対パスの違いを理解すれば、ファイル操作が格段にスムーズになります。

ファイルシステムの基本がまだの方は「Linuxのファイルシステム構造を理解する」を先にご覧ください。

パスとは? 「ファイルの住所」のこと

まず pwd(print working directory)コマンドで自分が今どこにいるか確認する習慣をつけましょう。パスを理解する第一歩です。

$ pwd
/home/user      # ← 今ここにいる、という「住所」がパス

パス(Path)とは、ファイルやディレクトリの場所を示す「住所」のことです。Linuxでは、すべてのファイルが /(ルートディレクトリ)を頂点としたツリー構造で管理されています。パスはその構造の中での位置を表します。

現実世界に例えると、「日本>大阪府>大阪市>北区>〇〇ビル3階」のように階層で場所を表すのと同じです。Linuxでは /home/user/documents/report.txt のように / で区切って階層を表現します。

ディレクトリ構造と絶対パス・相対パスの比較図
▲ 左のツリー構造から「どこへの道順か」を表すのがパス。絶対パスはルートから・相対パスは現在地から

絶対パスとは?

絶対パスとは、ルートディレクトリ(/)から始まる完全なパスです。どの場所にいても、必ず同じファイルを指します。

# 絶対パスの例
/home/user/documents/report.txt
/etc/nginx/nginx.conf
/var/log/syslog

絶対パスの特徴

  • 必ず / から始まる
  • 現在の場所(カレントディレクトリ)に関係なく、常に同じ場所を指す
  • 長くなりがちだが、迷いがない
  • スクリプトや設定ファイルに書く場合は絶対パス推奨
# どこにいても同じファイルにアクセスできる
$ cat /home/user/documents/report.txt

相対パスとは?

相対パスとは、現在いるディレクトリ(カレントディレクトリ)を起点としたパスです。今どこにいるかによって、同じパス表記でも指す場所が変わります。

# 現在 /home/user にいる場合
$ cd documents          # /home/user/documents に移動
$ cat documents/report.txt  # /home/user/documents/report.txt を参照

相対パスの特徴

  • / から始まらない(./../ で始まることが多い)
  • 短く書けるので日常的な作業に便利
  • カレントディレクトリが変わると意味も変わる

特殊な記号:.(ドット)、..(ドットドット)、~(チルダ)

相対パスでよく使う3つの特殊記号を覚えておきましょう。これらを使いこなすと、コマンド入力がグッと効率的になります。

相対パスの特殊記号 . .. ~ の解説図
▲ 3つの記号を覚えるだけで、ディレクトリ移動が格段にスムーズになる
# .(ドット):現在のディレクトリ
$ ./script.sh           # 今いるフォルダのscript.shを実行

# ..(ドットドット):一つ上のディレクトリ
$ cd ..                 # 一つ上へ移動
$ cd ../../etc          # 二つ上に戻ってetcへ移動

# ~(チルダ):ホームディレクトリへのショートカット
$ cd ~                  # どこからでもホームへ一発帰還
$ ls ~/documents        # ホームのdocumentsを参照

# ※ ~ はシェル展開(tilde expansion)により
#   /home/username のような絶対パスに変換されます
#   厳密には絶対パスに展開されるショートカットです

もう一つ覚えておくと便利なのが cd -(ハイフン)です。

# cd -:直前にいたディレクトリへ戻る
$ cd /var/log
$ cd /etc/nginx
$ cd -              # /var/log へ戻る
# 2つのディレクトリを行き来するときに便利

絶対パス vs 相対パス 使い分け

場面おすすめ理由
シェルスクリプトや設定ファイル絶対パス実行場所に依存しないため安全
ターミナルでの日常作業相対パス短く入力でき効率的
ホームディレクトリ以下~ を活用どこからでも確実にアクセス
初心者のうち絶対パス迷いが少なく確実

よくあるエラーと解決法

「No such file or directory」が出たら

パスの指定ミスが原因のほとんどです。以下を確認しましょう:

  1. pwd で今どこにいるか確認する
  2. ls で存在するファイル・フォルダを確認する
  3. 大文字・小文字を確認する(Documentsdocuments は別物)
  4. スペースが含まれる場合は " で囲む(例:cd "my folder"
$ pwd
/home/user

$ ls
documents  downloads  pictures

$ cd Documents    # エラー!(大文字D)
-bash: cd: Documents: No such file or directory

$ cd documents    # 正しい(小文字d)
$ pwd
/home/user/documents

まとめ:この記事で学んだこと

  • パスとはファイルの「住所」。/ で区切って階層を表す
  • 絶対パス/ から始まる完全な住所。どこからでも同じ場所を指す
  • 相対パス:今いる場所からの道順。短く書けて便利
  • .(今いる場所)..(一つ上)~(ホーム)の3記号を覚えておこう
  • 迷ったらまず pwd で現在地確認!

関連記事

関連記事:ファイルの中身を見る・検索する方法【cat/less/grep】

📋 Linux入門チートシート完全版で全コマンドを一気に復習できます。

コメント

タイトルとURLをコピーしました