Unixコマンド/ln

ln

機能

lnコマンドは、ハードリンク、あるいはシンボリックリンクを作成します。-sオプションが
指定された時はシンボリックリンクを作成します。指定されなかった時はハードリンクを作成します。
リンクを作成すると、リンク前のファイル名でアクセスする以外に、リンクした名前でも同じファイルにアクセスできるようになります。
リンクを作成しても、ファイル自体はコピーされず実態はひとるのままなので、複数の別名をつける機能として利用できます。

構文

ln [オプション] リンク元(実体) リンク先

オプション

-s   シンボリックリンクを作成する。

コマンド例

ハードリンク

> ln  test1 test2          test1のハードリンクをtest2として作成する。
> ls  -l                   lsコマンドでファイル情報を確認
------------------------------------------------------
total 2
-rw-r--r--  2  matsui  matsui  35 Jul  13 16:30  test1
-rm-r--r--  2  matsui  matsui  35 Jul  13 16:30  test2
------------------------------------------------------
リンクカウント↑が1ではないのでリンクされていることが分かる

シンボリックリンク

> ln -s test1 test2        test1のシンボリックリンクをtest2として作成する。
> ls  -l                   lsコマンドでファイル情報を確認
------------------------------------------------------
total 2
-rw-r--r--  1  matsui  matsui  35 Jul  13 16:30  test1
lrmxrwxrwx  1  matsui  matsui  35 Jul  13 16:40  test2 -> test1
------------------------------------------------------
                         先頭にlが付いてシンボリックリンクとなった。

> rm  test1                元ファイルを削除してみる
> cat test2
cat:test2:No such file or directory
                         リンク先が無いので表示不可能

■リンク元ファイルだけで指定すると、リンク元ファイル名でシンボリックリンクを作成します。