~/file.txt
にファイルがあります。
私はハードリンクを作成しました:
ln ~/file.txt ~/test/hardfile.txt
とシンボリックリンクファイル:
ln -s ~/file.txt ~/test/symfile.txt
さて、
->
でsymlinkファイルを見つけることができますが、ハードリンクはどうですか?
-rw--r--r-- 2 kamix users 5 Nov 17:10 hardfile.txt
^
それはファイルが持っているハードリンクの数です。 「ハードリンク」は、実際には2つのディレクトリエントリ間にあります。それらは実際には同じファイルです。 stat
からの出力を見るとわかります。
stat hardlink.file | grep -i inode
Device: 805h/2053d Inode: 1835019 Links: 2
リンクの数は2であり、このファイルの別のリストがどこかにあることを示しています。これが別のファイルと同じファイルであることを知っている理由は、それらのiノード番号が同じだからです。他のファイルにはそれがありません。残念ながら、これは(iノード番号で)それらを見つける唯一の方法です。
this Q&Aには、inodeを使用してファイルを検索する方法(たとえば、find
を使用する)に関する最良の方法がいくつかあります。
ハードリンクされたファイルには複数のリンク(2
許可フラグの後)。 stat
コマンドを使用して、この情報を簡単に抽出できます。
$ stat --printf '%h\n' hardfile.txt
2
stat
(man 1 stat
)他の値とその印刷方法についての情報。