Powered by SmartDoc

リンク

リンクとはあるファイルが他のファイルと直接あるいは間接的につながっていることでリンクには関連づけの違いでシンボリックリンクとハードリンクの二種類がある。リンクはlnコマンドで作成する。

シンボリックリンク

ソフトリンクともいい、リンクするファイルやディレクトリの位置情報を持つファイルのことでMac OS XのエイリアスやWindowsのショートカットに似た機能でつぎの特徴がある。

ハードリンク

ハードリンクはシンボリックリンクとは異なり、一つのファイルの保存領域に複数の異なる名前を付ける機能である。

lnコマンド

lnコマンドの書式

chmodコマンドの書式
$ ln [オプション] リンク先 リンクのファイル
-s
シンボリックリンクを作る。省略時はハードリンクを作る。

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の確認

i-nodeはlsコマンドのiオプションで表示でき、ハードリンクのi-nodeがもとのファイルと同一の値なことを確認する。

ファイルのi-nodeの確認
$ ls -i1
2629366 test1.txt
2629373 test1l.txt@
2629371 test2.txt
2629371 test2h.txt

シンボリックリンクとハードリンクの違いを図示(図8.5[シンボリックリンクとハードリンクの違い])する。

シンボリックリンクとハードリンクの違い