リンクは同じ内容のファイルを異なる名前やパス名で利用するための機能である.リンクはコピーと異なり,参照先のパスをファイルの内容として保存するだけなのでファイル空間を効率的に利用できる.複数のユーザで同じファイルを参照する場合や,グループで作業するなどの場合には,同じファイルをそれぞれのディレクトリにコピーするよりも,リンクを使った方が効率がよい.リンクを作成することを``リンクを張る''と呼ぶ.
リンクには``シンボリックリンク''と,``ハードリンク''がある.シンボリックリンクはリンク先のファイルが消去されてしまうと参照できなくなる.それに対して,ハードリンクはリンク先のファイルが消去されてもファイルの実体は残っており,内容を参照できる.通常はシンボリックリンクを使用する.
リンクを張るには,lnコマンドを用いる.参照するリンク先のファイル名と新しく作成するリンクの名前を指定する.-sオプションはシンボリックリンクを張るときに指定する.
% ln [-s] [リンクする先のファイル名] [リンクの名前]<RET>
次に,ユーザ`s99000hf'がユーザ`t99000tf'のホームディレクトリにある`file2'に対して,自分のホームディレクトリに`file2-link'という名前のリンクを作成する例を示す.こうして作成された`file2-link'の内容をcatコマンドなどで見ると`file2'と同じであることが確認できる.ただし,リンクの実体は参照先のファイルのパスなので,ファイル容量は非常に小さくなっている.
% ls -F<RET> file1 % ln -s ~t99000tf/file1 ~/file2-link<RET> % ls -F<RET> file1 file2-link@ % ls -l<RET> total 2 -rw-r--r-- 2 s99000hf 3024 Nov 23 09:27 file1 lrwxrwxrwx 1 s99000hf 20 Nov 24 15:35 file2-link -> /home/t99000tf/file1 % _
リンクを解消するには,一般のファイルと同様にrmコマンドでシンボリックリンクを張ったときにつけた名前のファイルを消す.なお,シンボリックリンクを張ったファイルを消しても,リンク先の相手のファイルが消えてしまうことはない.