このマニュアルページは hardlink のドキュメントである。 このプログラムはハードリンクを使って 1 つ以上のディレクトリにある 複製されたファイルを統合する。
hardlink は 1 つ以上のディレクトリをたどって、 複製されたファイルを探す。 複製されたファイルが見つかった場合、そのうちの 1 つをマスターとする。 それから、その他の全ての複製されたファイルを削除し、 マスターファイルを指すようにハードリンクを置く。 これにより、多くの複製されたファイルを含む、1 つのファイルシステム上の 複数ディレクトリのディスクスペースを少なくできる。
ハードリンクは 1 つのファイルシステムにしか適用できないので、 hardlink は指定された全てのディレクトリが同じファイルシステム上にある場合にのみ 有効である。
ファイルとディレクトリを除外するオプションのパターンは、PCRE2 互換の正規表現である。 ファイルとディレクトリのベース名のみをチェックし、 パスはチェックしない。 除外されたディレクトリの内容は調べない。
hardlink は Jakub Jelinek <jakub@redhat.com> によって書かれ、 後に util-linux 用に Ruediger Meier <ruediger.meier@ga-group.nl> と Karel Zak <kzak@redhat.com> によって修正された。
man ページは Brian Long によって書かれ、 後に Jindrich Novy <jnovy@redhat.com> によって更新された。
hardlink はリンク先のディレクトリツリーが、変更されないことを仮定している。 ディレクトリツリーが変更されると、意図したディレクトリの外で hardlink がファイルとディレクトリにアクセスしてしまう。 変更される可能性のあるディレクトリツリー、 特に他のユーザーの制御下にあるディレクトリツリーに対しては、 hardlink を動かすのは避けるべきである。
歴史的に hardlink は、
".in." で始まる名前と、"." で始まるちょうど 6 文字の名前を
暗黙のうちに除外していた。
このような以前の挙動は
-x '^(\.in\.|\.[^.]{6}$)'
を指定することで実現できる。