パスの表現について
LinuxやUNIX系システムでファイルやディレクトリを指定する際には、パスの表現を理解することが重要だ。パスの種類には、絶対パスと相対パスがあり、いくつかの記号が使われる。ここでは、エンジニア初心者が知っておくべきパスの基本を解説する。
ルートディレクトリとは?
ルートディレクトリは、ファイルシステムの最上位にあるディレクトリで、すべてのファイルやディレクトリはここから始まる。ルートディレクトリは/
で表される。
例
/var/log/syslog
-
/
: ルートディレクトリを示しており、ここからすべてのパスが派生する。
ホームディレクトリとは?
ホームディレクトリは、各ユーザーに割り当てられた作業用のディレクトリだ。ユーザーがログインしたときに最初にアクセスする場所であり、ユーザーの個人ファイルや設定が保存される。~
(チルダ)で表される。
例
~/documents/file.txt
-
~
: 現在のユーザーのホームディレクトリを指す(例えば、/home/username
)。
絶対パスと相対パス
絶対パス
ファイルシステムのルート(/
)から始まるパスを絶対パスと呼ぶ。常にシステム全体から見た位置を指定する。
例
/home/user/documents/file.txt
/var/www/html/index.php
-
/home/user/documents/file.txt
: ルートディレクトリから始まる完全なパス。
相対パス
現在のディレクトリを基準にして指定するパスを相対パスと呼ぶ。絶対パスより短くて書きやすいが、実行する場所によって意味が変わる。
例
./file.txt
../documents/file.txt
-
./file.txt
: 現在のディレクトリにあるfile.txt
を指す。 -
../documents/file.txt
: 現在のディレクトリの一つ上のディレクトリにあるdocuments/file.txt
を指す。
パスの表現に使う記号
~
(チルダ)
ホームディレクトリを表す記号。ユーザーのホームディレクトリのパスを簡単に指定できる。
例
~/documents/file.txt
-
~/documents/file.txt
: 自分のホームディレクトリのdocuments
フォルダ内のfile.txt
を指す。
.
(ドット)
現在のディレクトリを指す記号。相対パスでよく使われる。
例
./script.sh
-
./script.sh
: 現在のディレクトリにあるscript.sh
を指す。
..
(ドットドット)
一つ上のディレクトリを指す記号。相対パスでディレクトリを移動するときに使う。
例
../config/settings.json
-
../config/settings.json
: 現在のディレクトリの一つ上にあるconfig
フォルダ内のsettings.json
を指す。
/
(スラッシュ)
ディレクトリの区切りに使われる記号。また、ルートディレクトリを指す場合にも使われる。
例
/var/log/syslog
-
/var/log/syslog
: ルートディレクトリから始まる絶対パス。
実用例
-
ホームディレクトリに移動
cd ~
-
現在のディレクトリにあるスクリプトを実行
./run.sh
-
一つ上のディレクトリに移動
cd ..
よくある誤解
-
/
と./
の違い:/
はルートディレクトリを指す絶対パスの始まりだが、./
は現在のディレクトリを指す相対パスの一部だ。 -
~
は自分のホームディレクトリのみ: 他のユーザーのホームディレクトリを指定する場合は~username
のように書く必要がある(例:~john/documents
)。
まとめ
-
ルートディレクトリ: システム全体の最上位ディレクトリで、
/
で表される。 -
ホームディレクトリ: 各ユーザーの作業用ディレクトリで、
~
で表される。 - 絶対パス: ルートディレクトリからの完全なパスを指定する。
- 相対パス: 現在のディレクトリを基準にしてパスを指定する。
-
特殊記号:
-
~
: ホームディレクトリ -
.
: 現在のディレクトリ -
..
: 一つ上のディレクトリ -
/
: ディレクトリの区切りやルートディレクトリ
-