パスとは何か?
コンピュータ上のファイルやフォルダには、それぞれ固有の「場所」があります。パス(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 環境変数はコマンド検索の場所リスト(: 区切り)