シンボリック・リンク

UNIXでは、1つのファイルに複数の名称(パス)をつけることができる。これには以下の2種類がある。

  1. シンボリック・リンク

    あるパス名へのポインタのようなもの。Windows 95/NT で「ショートカット」と呼ばれるものに近い。リンクを作成することを「リンクを張る」という。lsコマンドでファイル一覧を表示した場合、(エイリアスにより '-F' オプションを指定するようにしているので)シンボリック・リンク名には最後に'@'がつく。また、tarコマンドでも(通常の設定では)アーカイブの対象とはならない。以下のコマンドにより作成される。

    ln -fs ファイル実体 シンボリック・リンク名
    シンボリック・リンクの場合は、リンクが指し示すファイル実体が削除されるとリンクは未解決状態になってしまい、そのファイルのオープンを行おうとすると、「No such file or directory」のエラーとなる。

  2. ハード・リンク

    ファイルのiノード(ディスク上におけるファイルの実体の場所を示すポインタ。実際のDOSでいうFATエントリのようなもの)を複数のファイル名で共有する。Windows には同様の概念はない。以下のコマンドにより作成される。

    ln ファイル実体 ハードリンク名
    複数のハードリンクが張られたファイルは、1つのファイル名が削除されてもその実体は消えず、最後のリンクが削除された時点で実体も削除される。