リンクとはあるファイルが他のファイルと直接あるいは間接的につながっていることでリンクには関連づけの違いでシンボリックリンクとハードリンクの二種類がある。リンクはlnコマンドで作成する。
ソフトリンクともいい、リンクするファイルやディレクトリの位置情報を持つファイルのことでMac OS XのエイリアスやWindowsのショートカットに似た機能でつぎの特徴がある。
ハードリンクはシンボリックリンクとは異なり、一つのファイルの保存領域に複数の異なる名前を付ける機能である。
$ ln [オプション] リンク先 リンクのファイル
例えば、ファイルtest1.txtのシンボリックリンクtest1s.txtとファイルtest2.txtのハードリンクtest2h.txtを作るには図8.2[リンクの作成]のように操作する。
$ ln -s test1.txt test1s.txt $ ln test2.txt test2h.txt
作成したリンクは図8.3[シンボリックリンクのリスト表示例]のように表示される。
$ ls -l test1*.txt -rw-r--r-- 1 sakabe staff 6 13 12 12:40 test1.txt lrwxr-xr-x 1 sakabe staff 9 13 12 12:40 test1s.txt@ -> test1.txt $ ls -l test2*.txt -rw-r--r-- 2 sakabe staff 12 13 12 12:44 test2.txt -rw-r--r-- 2 sakabe staff 12 13 12 12:44 test2h.txt
i-nodeはlsコマンドのiオプションで表示でき、ハードリンクのi-nodeがもとのファイルと同一の値なことを確認する。
$ ls -i1 2629366 test1.txt 2629373 test1l.txt@ 2629371 test2.txt 2629371 test2h.txt
シンボリックリンクとハードリンクの違いを図示(図8.5[シンボリックリンクとハードリンクの違い])する。