概要
ファイル/ディレクトリへのリンクを作成する。リンクにはハード・リンクとシンボリック・リンクの2種類がある。
ハードリンク
ハードリンクは、ソースのiノード番号をターゲットとして持ち、ソースが移動されたり、名前が変更されても有効。
1 |
ln [ソース] [リンク名] |
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ ls -l work/ -rw-r--r-- 1 taustation users 20 12月 9 15:52 source $ cat work/source This is the source. $ ln work/source hard_link $ ls -l hard_link -rw-r--r-- 2 taustation users 20 12月 9 15:52 hard_link $ cat hard_link This is the source. $ mv work/source work/renamed $ cat hard_link This is the source. $ |
- 1~4行目でソースとその内容を確認
- 5行目でハードリンクを作成
- 6~7行目でリンクを確認
- 8~9行目でリンクで参照されるソースの内容を確認
- 10行目でソースの名前を変更
- 11~12行目、変更後もハードリンクは有効
シンボリックリンク
シンボリックリンクでは、リンクファイルにリンク先にソースへのパスが保存され、これを参照してソースがアクセスされる。
ソースの位置や名前が変更されてもリンクファイルのパスは変わらないため、変更後のソースにはアクセスできなくなる(デッド・リンク)。
1 |
ln -s [ソース] [リンク名] |
実行例
1 2 3 4 5 6 7 8 9 10 11 |
$ cat work/source This is the source. $ ln -s work/source soft_link $ ls -l lrwxr-xr-x 1 taustation users 11 12月 9 15:57 soft_link -> work/source $ cat soft_link This is the source. $ mv work/source work/renamed $ cat soft_link cat: soft_link: No such file or directory $ |
- 1~2行目でソースの内容を確認
- 3行目でソフトリンクを作成
- 4~5行目でソフトリンクを確認(パスが表示されている)
- 6~7行目でソフトリンクからソースの内容を表示
- 8行目でソースの名前を変更
- 9~10行目、変更後はソフトリンクからアクセスできない