▼すべてを開く。
▲すべてを閉じる。
$ ls -li 328176 drwxrwxr-x 2 masa users 4096 6月 2 18:13 dir1 100159 -rw-rw-r-- 2 masa users 529 5月 6 16:45 linkfile 100159 -rw-rw-r-- 2 masa users 529 5月 6 16:45 myfile1
$ cp -s myfile1 symboliclinkfile
cpコマンドで-sオプションを指定し、ファイル「myfile1」と「symboliclinkfile」を指示すると、シンボリックリンクが作成される。
lsコマンドでコマンド実行結果を確認する$ ls -li 328176 drwxrwxr-x 2 masa users 4096 6月 2 18:13 dir1 100159 -rw-rw-r-- 2 masa users 529 5月 6 16:45 linkfile 100159 -rw-rw-r-- 2 masa users 529 5月 6 16:45 myfile1 100169 lrwxrwxrwx 1 masa users 7 6月 3 15:10 symboliclinkfile -> myfile1
「linkfile」と「myfile1」はハードリンクなので同じi-ノード番号を持つ。しかし、「myfile1」とそのシンボリックリンク「symboliclinkfile」は異なるi-ノード番号を持つ。シンボリックリンクファイル「symboliclinkfile」のパーミッションの先頭には、リンクであることを示す「l」が表示されている。
$ ls -l -rw-rw-r-- 1 masa users 268 6月 3 21:48 myfile1
$ ln -s myfile1 slinkfile1
lnコマンドに-sオプションを指定し、リンク元のファイル「myfile1」、リンクファイル「slinkfile1」を指定すると、シンボリックリンクが作成される。指定するファイル名の順番を間違えないこと。
シンボリックリンクされたファイルのパーミッションは意味を持たない。リンク元のパーミッションが有効になる。シンボリックリンクは同じファイルに対して複数作ることができる。また、シンボリックリンクファイルにさらにシンボリックリンクを作ることもできる。
リンク元ファイルを削除すれば、リンク先からはファイルを参照することができなくなる。
lsコマンドで実行結果を見る$ ls -li 98309 -rw-rw-r-- 2 masa users 268 6月 3 21:48 myfile1 100150 lrwxrwxrwx 1 masa users 7 6月 11 15:29 slinkfile1 -> myfile1 98309 -rw-rw-r-- 2 masa users 268 6月 3 21:48 userfile1