13.4.4 絶対パス名と相対パス名

ファイルやディレクトリの位置を指定するための記述のことをパス名と言います.

パス名には絶対パス名相対パス名があります.

絶対パス名とはルートディレクトリから順番にディレクトリを辿って位置を指定する方法です.絶対パス名ではファイルまたはディレクトリの,ファイルシステム中の絶対的な位置が示されます.

相対パス名とはカレントディレクトリとの相対的な位置関係から位置を指定する方法です.相対パス名はカレントディレクトリとの位置関係で決まるので,同じファイルやディレクトリでもカレントディレクトリが変われば相対パス名は変わります.

コマンドを使ったファイル操作でディレクトリやファイルの位置を指定する場合には, 絶対パス名と相対パス名のどちらでも指定することができます.

例として,ファイルシステムの中で下の赤い四角に囲まれた位置にあるDocumentsというディレクトリについて考えてみましょう.カレントディレクトリは隣のDesktop(/home01/g000000/Desktop)であるとします.

(ファイルシステム構造の図)

このディレクトリを指定する絶対パス名は,

/home01/g000000/Documents

になります.カレントディレクトリがどこであろうと,絶対パス名は変わりません.

同じディレクトリを相対パス名で指定すると,

../Documents

のようになります.もちろんこれは相対パス名なので,カレントディレクトリによって変わります.

様々なパス名

ファイルを示すパス名

ファイルの位置も同様に絶対パス名,相対パス名で表すことができます. カレントディレクトリが /home01/g000000/Desktop である場合,絶対パス名で

/home01/g000000/Documents/homework.txt

と表されるファイルは,相対パス名では

../Documents/homework.txt

と表されます.

単なるファイル名も相対パス名

カレントディレクトリにあるファイルやディレクトリを指定するときは,ファイル名やディレクトリ名そのものも,相対パス名となります. 例えばカレントディレクトリが /home01/g000000 である場合の Documents や,カレントディレクトリが /home01/g000000/Documents である場合の homework.txt なども,相対パス名です.

カレントディレクトリを表す相対パス名

また,カレントディレクトリを表す特別な相対パス名として, . (ピリオド1文字) というものがあります. それを利用して,相対パス名の前に ./ を付けてできる相対パス名は,同じファイルやディレクトリを指します. 意味がないように思うかもしれませんが, / が含まれていなければパス名として解釈されないような場合に便利です. 例えば,コマンドの代わりにカレントディレクトリにある実行ファイルを実行させる場合や,ファイル名が - で始まりオプションと間違われてしまうファイルを指定する場合などに使います.

練習問題

exercise

まず,iMac端末のコマンドラインにおいて,カレントディレクトリをpwdコマンドで確認してみてください.それからカレントディレクトリを/mnt/HWB/exercise/taroに変更してみてください./mnt/HWB/exerciseがカレントディレクトリであるときに, /mnt/HWB/exercise/taroにカレントディレクトリを変更するには,

promptcd (1) enter

とすればできます.実際にやってみて確かめてみましょう.

また,カレントディレクトリを/mnt/HWB/exercise/taroに変更したあとに,カレントディレクトリを/mnt/HWB/exercise/hanakoに変更するには,

promptcd (2) enter

とすればできます.