シンボリックリンク
シンボリックリンクは、ファイルシステム内の別のファイルやディレクトリへのポインタを提供する特殊なファイルです。Windowsのショートカットのようなものです。
特徴
特徴 | 説明 |
---|---|
パスを記憶 | シンボリックリンクは、リンク先のファイルやディレクトリの場所(パス)を記憶します。 |
デッドリンク | リンク先のファイルやディレクトリが削除されたり移動されたりすると、シンボリックリンクは壊れたリンク(デッドリンク)になります。 |
異なるファイルシステム | リンク先のファイルやディレクトリが異なるファイルシステムに存在していてもシンボリックリンクを作成できます。 |
作成方法
シンボリックリンクの作成にはlnコマンドを使用します。
ln [オプション]… [-T] ターゲット リンク名
オプション | 説明 |
---|---|
–backup[=CONTROL] | 既存の宛先ファイルのバックアップを作成 |
-b | –backup と同様だが引数を受け付けない |
-d, -F, –directory | スーパーユーザーがディレクトリにハードリンクを試みることを許可(システム制限のため失敗する可能性あり) |
-f, –force | 既存の宛先ファイルを削除 |
-i, –interactive | 宛先を削除するかどうかを確認 |
-L, –logical | シンボリックリンクのターゲットを参照 |
-n, –no-dereference | リンク名がディレクトリへのシンボリックリンクである場合、通常のファイルとして扱う |
-P, –physical | シンボリックリンクに直接ハードリンクを作成 |
-s, –symbolic | シンボリックリンクを作成 |
-v, –verbose | 各リンクされたファイルの名前を表示 |
シンボリックリンク test-file-link を作成
テスト用のファイルとディレクトリを作成します
# 作業用ディレクトリの作成 mkdir ~/work && \ # カレントディレクトリの移動 cd ~/work && \ # テスト用のディレクトリ作成 mkdir link-test && \ # テスト用のファイル作成 echo test-file1 > link-test/test-file

シンボリックリンクを作成

シンボリックリンクが作成されたことを確認

ハードリンク
特徴
- ハードリンクは、同じファイルシステム内の既存のファイルに対する別の参照を提供します。ハードリンクは、リンク元のファイルのデータブロックを共有します。
- ハードリンクは、ファイルが削除されても他のリンクからアクセス可能である限りデータを保持します。
- ハードリンクは、同じファイルシステム内でのみ作成可能です。

作成方法
ハードリンクは、ln コマンドを使用して作成します。
test-fileのハードリンクtest-file-hardlinkの作成
テスト用のファイルを作成
# 作業用ディレクトリの作成 mkdir ~/work && \ # カレントディレクトリの移動 cd ~/work && \ # テスト用のディレクトリ作成 mkdir link-test && \ # テスト用のファイル作成 echo test-file1 > link-test/test-file

test-fileのハードリンクであるtest-file-hardlinkの作成
ln link-test/test-file test-file-hardlink

test-file-hardlinkが作成されたことを確認
ls -li

test-fileのiノードを確認。test-file-hardlinkと同じ番号であればOK
ls -li link-test/

コメント