パスとは何か?

コンピュータ上のファイルやフォルダには、それぞれ固有の「場所」があります。パス(Path)とは、その場所を文字列で表したものです。

現実の住所に例えると、「東京都渋谷区〇〇1-2-3」のように、階層をたどってたどり着く場所を表します。

Mac(Unix 系)のパスは /(スラッシュ)で区切られます。

/Users/username/Desktop/myfile.txt

これは「ルート(/)の中の Users の中の username の中の Desktop の中の myfile.txt」という意味です。

絶対パス

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

/Users/username/Documents/project/index.html

絶対パスのポイント:

  • 必ず / から始まる
  • 現在地に関わらず、常に同じファイルを指す
  • 長くなりがちだが、確実に場所を指定できる

相対パス

相対パスとは、現在いる場所(カレントディレクトリ)を起点とするパスです。

# 現在 /Users/username/Documents にいる場合
# project/index.html は以下と同じ意味
/Users/username/Documents/project/index.html

相対パスで使う特殊な記号:

記号意味
.現在のディレクトリ./script.sh
..1つ上のディレクトリ../images/logo.png
~ホームディレクトリ~/Desktop/file.txt

チルダ(~)とホームディレクトリ

~(チルダ)は、現在のユーザーのホームディレクトリの省略形です。

# ユーザー名が "yamada" の場合
~ = /Users/yamada

~/Desktop = /Users/yamada/Desktop
~/Downloads = /Users/yamada/Downloads
💡

cd ~ または単に cd と入力すると、いつでもホームディレクトリに戻れます。迷子になったときの定番コマンドです。

PATH 環境変数

「パス」には2つの意味があります。1つはファイルの場所、もう1つは PATH 環境変数です。

PATH 環境変数は、コマンドを実行するときにシェルが「コマンドの実体ファイルを探すディレクトリの一覧」です。

% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

:(コロン)区切りでディレクトリが並んでいます。シェルはコマンドを実行するとき、この順番でディレクトリを検索し、最初に見つかったプログラムを実行します。

PATH にディレクトリを追加する

Homebrew で新しいツールをインストールすると、インストール先(例:/opt/homebrew/bin)が PATH に自動追加されます。

# ~/.zshrc に手動で追加する場合
export PATH="/opt/homebrew/bin:$PATH"
⚠️

「command not found」エラーが出たときは、そのコマンドが PATH に含まれていないディレクトリにあることが多いです。インストールは完了しているのにコマンドが使えない場合は PATH を確認しましょう。

実践:よく使うパスのパターン

# ホームに移動
cd ~

# デスクトップに移動
cd ~/Desktop

# プロジェクトフォルダに移動
cd ~/Documents/my-project

# 1つ上のフォルダに戻る
cd ..

# 2つ上のフォルダに戻る
cd ../..

# ファイルの絶対パスを確認する(現在地 + ファイル名)
pwd  # 現在地を表示してから
ls   # ファイル名を確認
この記事のまとめ
  • パスはファイル・フォルダの場所を示す住所のようなもの
  • 絶対パスは / から始まり、どこにいても同じ場所を指す
  • 相対パスは現在地からの位置で表す(.. で上の階層)
  • ~ はホームディレクトリの省略形
  • PATH 環境変数はコマンド検索の場所リスト(: 区切り)