by shigemk2

当面は技術的なことしか書かない

ハードリンクとシンボリックリンク

Linuxでは、ファイルをディスクに保存すると、重複しないiノード番号が割り当てられる。
すべてのファイルには対応するiノードが存在し、iノードにはディスク上のファイルに関する
属性情報が格納されている。

ファイルの実体が1つでも、その実体を参照するファイルが複数あれば、それぞれのファイル名で同一の
実体を参照することが出来る。これをハードリンクという

ハードリンクでは、元のファイルと、リンクとして作成したファイルの区別がつかない。
どれもiノードが同じだから。また、異なるファイルシステムの同士のハードリンクを作成も出来ないし、
ディレクトリのハードリンクも作成できない。

シンボリックリンクでは、リンクの元の場所を
指し示す。シンボリックリンクが持っているのは、リンク元へのポインタである。そのため、シンボリックリンク
残したまま、リンク元のファイルを削除することも可能だが、シンボリックリンクを削除すると実体ファイルが
見つけられずエラーになる。

なお、ディレクトリのリンクも別のファイルシステムへのリンクもシンボリックリンクなら可能である。

シンボリックリンク作成コマンド

ln -s オリジナル リンク先

出典については…気にするな!