ファイル・システム
UNIXで取り扱うファイルには次の3種類がある。
- 通常のファイル
- ディレクトリ
ファイルを階層化するために、ファイル名などを格納したもの。
- スペシャルファイル
UNIXのファイルシステムは階層構造をしている。
また、ファイルシステムは1つの木構造になっている。
- ルート(/)
階層化されたファイルシステムの最上位に位置するディレクトリをルートと呼び、'/'(slash)を用いて表す。
全てのファイルは、ルートよりディレクトリを経由して辿り着くことができる。
- ワーキング・ディレクトリ(working directory)
ユーザがUNIXシステムにアクセスしているとき、必ず、ファイルシステム内のディレクトリが1つ割り当てられる。そのディレクトリをその時点でのworking directoryと呼ぶ。
ユーザはコマンドを用いてworking directoryを変更することができる。
- ホーム・ディレクトリ(home directory)
全てのユーザは、ログインした時点でユーザ固有のworking directoryが割り当てられる。
このログイン時の working direcotryを home directoryと呼ぶ。
通常、ユーザは home directoryの下に自己のファイルを保持する。
- パス名(path name)
階層化されたファイルシステムでは同一名称のファイルが複数存在できる。
ファイルシステム内の特定のファイルを一意的に指定するには以下の2つの方法を用いる。
- 絶対パス名
最上位のルートから順にディレクトリを辿ってファイル名を指定した名前をそのファイルの絶対パス名と呼ぶ。
ディレクトリ名などの区切り記号には'/'を用いる。
- 例:
-
ファイルシステムの最上位から / - usr - bin - file の順でたどり着くファイルfileの絶対パス名
/usr/bin/file
- 相対パス名
working directory
からの相対的な位置を'/'を区切り記号として指定した名前をそのファイルの相対パス名と呼ぶ。
- 例:
-
いま、working directoryが usr であるとする。 working directory から始めて、 bin - file の順で辿り着くファイルfileの相対パス名は
bin/file
./bin/file
と表現することができる。
上の2つは、ともに、同じファイルfileを意味する。
- 捕捉:
- '.'はworking directoryを表す。
- '..'はすぐ上のディレクトリを表現する。
- '~'は home direcotry を表す。
- リンク
ファイルの実態は存在せず、別の場所(別のディレクトリの下)にあるファイルを示すものをリンクと呼んでいる。
リンクにはソフト・リンクとハード・リングが存在するが、このことについては省略する。