Linux シンボリックリンクとは (処理の切替)

シンボリックリンク(symbolic link)についてです。

目次

サンプル シンボリックリンクとは
  シンボリックリンクを作成する
シンボリックリンクを確認する
シンボリックリンクの向き先を変更する(処理の切替)
  シンボリックリンクを削除する
シンボリックリンクが赤字で表示される

シンボリックリンクとは

  • コマンドで、ディレクトリやファイル元にしてシンボリックリンクを作成します。
  • シンボリックリンクは、実体へのパスを持っています。
  • シンボリックリンクの内容を変更すると作成元の内容も変更されます。
  • 作成元の内容を変更するとシンボリックリンクの内容も変更されます。
  • シンボリックリンクを削除しても元のディレクトリ/ファイルは削除されません。
  • シンボリックリンクの向き先を変更することで処理を切替える使い方もできます。

 

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

1./home/test/にあるtest1.txtのシンボリックリンクを/home/test/testSymbolic/に作成します。

2./home/test/testSymbolic/に移動します。

3.lnコマンドでシンボリックリンクを作成します。

ln -s /home/test/test1.txt testLink
ln -s [リンク元のディレクトリ名/ファイル名]  [リンクの名前]

 

シンボリックリンクを確認する

上記で作成したシンボリックリンクを確認します。

1.シンボリックリンクを作成した場所(/home/test/testSymbolic/)でls -lコマンドを実行します。
以下のように表示されます。

シンボリックリンクは水色の文字になっています。
矢印(->)の右側に実体のファイルのパスが表示されています。

 

2.catコマンド等でシンボリックリンクの中を確認できます。

cat testLink

シンボリックリンクの内容は、作成元の実体のファイルと同じです。

 

3.viコマンド等でシンボリックリンクの内容を変更できます。

vi testLink

シンボリックリンクの内容を変更すると、作成元のファイル(/home/test/test1.txt)の内容も変更されます。

 

シンボリックリンクの向き先を変更する(処理の切替)

1.testLinkは、/home/test/test1.txtのシンボリックリンクになっています。

 

2.testLinkを/home/test/test2.txtのシンボリックリンクにします。

lnコマンドのオプションに-nfsに指定します。

ln -nfs /home/test/test2.txt testLink

 

3.ls -lコマンドで確認するとシンボリックリンクの向き先が変わっています。

シンボリックリンクの向き先を変更することで処理を切替える使い方もできます。

 

シンボリックリンクを削除する

シンボリックリンクを削除する方法です。

rmコマンドで削除します。

rm testLink

シンボリックリンクを削除しても作成元のファイル(/home/test/test1.txt)は消えません。

 

シンボリックリンクが赤字で表示される(リンク先がない)

シンボリックリンクのリンク先がない場合、赤字で表示されます。

上記図では、testlink2のリンク先のファイルは存在しないため赤字と赤の背景になっています。

testlinkのリンク先は指定のファイルが存在しています。

関連の記事

Linux bashでログイン時に読み込まれるファイル
Linux rcスクリプトとランレベル毎のシンボリックリンク

△上に戻る