UNIX は全てがファイルから構成されています。
自分で作った文書やイラストなどに名前を付けてファイルとして保存するということは、
既に知っている人も多いと思います。
しかし、それだけではなく、コンピュータを操作するためのコマンド
(/bin/*, /sbin/*, /usr/bin/*)、
更には、実はキーボードやマウス、ディスプレイ、
プリンタといったデバイスなども全てファイルとして扱われます
(キーボード /dev/input/keyboard, マウス /dev/input/mice等,
ディスプレー /dev/fb等, プリンタ /dev/lp0等)。
ファイルシステムの中にあるディレクトリは膨大な数になるので、
ユーザが現在作業対象とするするディレクトリを指定しておくことが便利です。
このディレクトリのことを、カレントディレクトリと呼びます。
カレントディレクトリ名を表示させるためのコマンド ・・ ・pwd
カレントディレクトリを変更するコマンド ・・・ cd
ファイルを指定する時は、階層の一番上(ルートといい"/"で表現します),
あるいはカレントディレクトリから、
そのファイルにたどり着くまでのディレクトリを"/"で区切りながら順にならべます。
このようにファイルを指定する文字列をパスと呼びます。
パスの例として、
/homer/pl/tea/kht23151/Examples/readme.txt
が意味するのは…
ファイルシステムの一番根元のディレクトリ(ルートと呼ぶ)の中にある( 一番先頭の/ がそれを表す)
homer というディレクトリの中にある
tea というディレクトリの中にある
kht23151 というディレクトリの中にある
Examples というディレクトリの中にある
readme.txt というファイル
を指定しています.
この例のパスは/で始まっていることに注意してください。
もう一つの例として、
Examples/readme.txt
が意味するものを考えましょう。
これは/で始まっていないので、どこのディレクトリの中の Examples
ディレクトリなのか分からないことになりますが、この場合は
カレントディレクトリの中にあるExamplesを指定することになっています。
だからもしカレントディレクトリが /homer/pl/tea/kht23151 と指定されていたら
実際のパスは
/homer/pl/tea/kht23151/Examples/readme.txt
となりますが、もしカレントディレクトリが /homer/pl/tea/ となっていたら
/homer/pl/tea/Examples/readme.txt
になります。
このように/で始まらないパスは、カレントディレクトリを基準として
ファイルを指定するパスと理解されます。
カレントディレクトリを設定することで、本来長いパスを省略して書くことができます。
ちなみにインターネットのURLと概念も表現も同じになっています。
特殊なファイル名として、"." と ".." があります。
"." はカレントディレクトリ(ユーザが作業を行っているディレクトリ)を、".." は 1 つ上の階層のディレクトリを表します。