ハードリンクとシンボリックリンクの違い
項目 | ハードリンク | シンボリックリンク |
---|---|---|
指し示す対象 | 元のファイルのデータブロック | 元のファイルのパス |
元ファイル削除時の影響 | データは残る | リンクは残るが無効 |
異なるファイルシステム間で作成可能か | 不可 | 可 |
ディレクトリへの適用 | 不可 | 可 |
作成方法 | ln <元ファイル> <リンク名> |
ln -s <元ファイル> <リンク名> |
ファイルのinode 番号 |
同じ | 異なる |
ls コマンドでの表示 | 同じ inode 番号を持つ | パーミッションの先頭に「l」が表示 |
lnコマンド
ln
$ ln [オプション] リンク元(実体) リンクファイル
オプション | 由来 | 説明 |
---|---|---|
default | link | ハードリンクの作成 |
-s |
symbolic link | シンボリックリンクの作成 |
ハードリンクの例
sh
$ echo "Hello" > original.txt
$ ln original.txt hardlink.txt
$ ls -li
123456 -rw-r--r-- 2 user user 6 Feb 2 12:00 original.txt
123456 -rw-r--r-- 2 user user 6 Feb 2 12:00 hardlink.txt
シンボリックリンクの例
sh
$ ln -s original.txt symlink.txt
$ ls -li
123456 -rw-r--r-- 1 user user 6 Feb 2 12:00 original.txt
654321 lrwxrwxrwx 1 user user 12 Feb 2 12:01 symlink.txt -> original.txt
Ping-t
全般
ハードリンク
シンボリックリンク