リンクは同じ内容のファイルを異なる名前やパス名で利用するための機能です. 複数のユーザで同じファイルを参照する場合や, グループで作業するなどの場合には, 同じファイルをそれぞれのディレクトリにコピーするよりも, リンクを使った方が効率がよくなります. リンクを作成することを``リンクを張る''といいます.
リンクの種類には ``シンボリックリンク'' と ``ハードリンク'' があります. シンボリックリンクはリンク先のファイルが消去されてしまうと 参照できなくなります. それに対して,ハードリンクはリンク先のファイルが消去されても ファイルの実体は残っており,内容を参照できます. 通常はシンボリックリンクを利用します.
リンクを張るには, lnコマンド (LiNk) を実行します. 参照するリンク先のファイル名と新しく作成するリンクの名前を指定します. -sオプションはシンボリックリンクを 張るときに指定します.
ln [-s] [リンクする先のファイル名] [リンクの名前]
次に,ユーザt00000tfが ユーザs00000hfのホームディレクトリにあるファイル `mymemo.txt'に対して, `memo-link' という名前のリンクを作成する例を示します.
こうして作成された `memo-link' の内容を catコマンドなどで見ると `mymemo.txt' と同じであることが確認できます. ただし,リンクの実体は参照先のファイルのパスなので, ファイル容量は非常に小さくなっています. `ls -l' コマンドを実行すると, 先頭のファイルタイプが `l' であることからリンクであることがわかります ().
% ls -F <ENTER> ← カレントディレクトリの内容を表示 Mail/ bin/ % ln -s /home/s00000hf/mymemo.txt memo-link <ENTER> % ls -F <ENTER> Mail/ bin/ memo-link@ ← リンクが作成されている % ls -l <ENTER> total 3 drwx------ 11 t00000tf student 512 Feb 18 12:22 Mail drwx------ 3 t00000tf student 512 Feb 13 16:07 bin lrwxrwxrwx 1 t00000tf student 10 Nov 20 15:35 memo-link -> /home/s00000hf/mymemo.txt % _
シンボリックリンクを削除する際には, rmコマンドを実行します. rmコマンドはシンボリックリンクの指す先ではなく, リンク自体を削除します.