シンボリックリンクの作成方法、削除(解除)方法を記しておきます。
シンボリックリンクとは?
シンボリックリンク(Symbolic LinkまたはSymlink)は、ファイルやディレクトリへのエイリアス(別名)を作成するための仕組みです。シンボリックリンクは、ファイルパスやディレクトリパスを参照し、そのパスにアクセスすることで、実際のファイルやディレクトリにアクセスできるようにします。シンボリックリンクは、ファイルシステム内での異なる場所間でのリンクを可能にし、ディレクトリやファイルの再配置や管理を容易にします。
シンボリックリンクの作成
シンボリックリンクの作成は、lnコマンドを使用します。以下が基本的な構文です。
※ちなみにlnはLinkの略らしい。
ln -s リンク元のパス リンクのパス
例えば、/hoge/fuga ディレクトリに fuga_link というシンボリックリンクを作成する場合、次のように行います。
# ln -s /hoge/fuga fuga_link
lsコマンドで確認すると下記の様に表示されます。
# ls -trla lrwxrwxrwx 1 root root 10 Aug 1 12:34 fuga_link -> /hoge/fuga/
リンク元と同名でいい場合
ln -s /hoge/fuga
その他のオプション
-nオプション:同名のリンクが既に存在する場合、エラーを表示して上書きを防ぎます。
ln -s -n リンク元のパス リンクのパス
-fオプション:同名のリンクが既に存在する場合、上書きして新しいシンボリックリンクを作成します。
ln -s -f リンク元のパス リンクのパス
シンボリックリンクをコピーする
シンボリックリンクのコピーは、通常のファイルコピーとは異なる点に注意が必要です。シンボリックリンクの参照先をコピーするために、-dオプションを使用します。
以下はシンボリックリンクのコピーの例です。
cp -d fuga_test.txt fuga_test2.txt
「-d」オプションを省略してコピーすると、参照先のファイルがコピーされます。
# cp fuga_test.txt fuga_test2.txt # ls -trla lrwxrwxrwx 1 root root 18 Aug 10 12:34 fuga_test.txt -> /tmp/hoge/test.txt -rw-rw-rw- 1 root root 2 Aug 10 12:34 fuga_test2.txt
「-d」オプションを指定してコピーすると、シンボリックリンク自体がコピーされます。
# cp fuga_test.txt fuga_test2.txt # ls -trla lrwxrwxrwx 1 root root 18 Aug 10 12:34 fuga_test.txt -> /tmp/hoge/test.txt lrwxrwxrwx 1 root root 18 Aug 10 12:35 fuga_test2.txt -> /tmp/hoge/test.txt