Subsections

2.2 パス名

階層構造におけるディレクトリやファイルの位置を表す名前をパス名 (pathname) といいます。パス名には絶対パス名 (absolute pathname) と 相対パス名 (relative pathname) の二種類があります。

ファイル名やディレクトリ名だけでは,カレントディレクトリのファイルやディ レクトリ しか操作できませんでしたが,パス名を利用することにより,システム内の任意 のディレクトリに存在するファイルやディレクトリを扱うことが可能になります。


2.2.1 絶対パス名

絶対パス名は,ディレクトリやファイルの位置をルートディレクトリを基点として 表すものです。 絶対パス名は次のように構成されます。

ルートディレクトリ:
/

ルートディレクトリ以外:
ルートディレクトリを意味する / に続き, ルートディレクトリから当該ディレクトリやファイルまでの道筋 を / で区切りながら順に記す。

例えば, 図 1 におけるディレクトリ \fbox{OOOO} の絶対パス名は /home/OOOO であり,ファイル temp の絶対パス名は /home/OOOO/unix/temp です8

絶対パス名を用いれば,システム内のファイルやディレクトリを一意に表現でき ます。第 2.1節で使った pwd コマンドは,カレントディレクト リを絶対パス名で出力するコマンドです。

2.2.2 相対パス名

相対パス名は,カレントディレクトリとの相対的な関係によって,ディレクトリ やファイルの位置を表すものです9。 そのため,カレントディレクトリを変更すれば相対パス名も変わります。 相対パス名の書き方は次のとおりですが,絶対パスとの表記上の違いは, パス名の先頭に / を付けないことです。

カレントディレクトリの子孫の場合:
(図1では右側が子孫)

カレントディレクトリから当該ディレクトリまでの道筋を / で区 切りながら順に記す。ただし,カレントディレクトリ名自身は記さ ない。カレントディレクトリを意味する . (ドット) を明示して, ./ に続いて道筋を記述してもよい。

カレントディレクトリの子孫以外:

親ディレクトリを意味する .. (ドット二つ) を / で区切りながら 書き並べることにより,カレントディレクトリの祖先 (図1では左 側) を表現する。

さらに,その子孫であるディレクトリやファイルを表したい場合に は,引き続き当該ディレクトリやファイルまでの道筋を / で区切っ て書き並べる。

カレントディレクトリが図 1\fbox{OOOO}であるとします。 このとき,図 1におけるディレクトリやファイルのいくつか を,絶対パス名と相対パス名で表したのが表 1です。


表 1: 絶対パス名と相対パス名の対応
絶対パス名 相対パス名 備考
/home/OOOO . カレントディレクトリ
/home/OOOO/unix unix または ./unix
/home/OOOO/unix/temp unix/temp または ./unix/temp
/home/OOOO/unix/misc unix/misc または ./unix/misc
/home .. カレントディレクトリの親
/ ../.. カレントディレクトリの親の親
/home/XXXX ../XXXX カレントディレクトリの親の子
/var ../../var
/var/tmp ../../var/tmp