ファイルがハードリンクかシンボルリンクであるかを確認するには? [コピー]

ファイルがハードリンクかシンボルリンクであるかを確認するには? [コピー]

にファイルがあります~/file.txt

以下でハードリンクを作成しました。

ln ~/file.txt ~/test/hardfile.txt

とシンボリックリンクファイル:

ln -s ~/file.txt ~/test/symfile.txt

今、

  1. どのファイルがハードリンクであるかを確認するには?
  2. ハードリンクが続くファイルを見つける方法は?

私たちはシンボリックリンクファイルを見つけることができますが、->ハードリンクはどうですか?

ここに画像の説明を入力してください。

ベストアンサー1

-rw--r--r-- 2 kamix users 5 Nov 17:10 hardfile.txt
            ^

これはファイル内のハードリンクの数です。 「ハードリンク」は、実際には2つのディレクトリエントリの間にあり、実際には同じファイルです。次の出力を見るとわかりますstat

stat hardfile.txt | grep -i inode
Device: 805h/2053d      Inode: 1835019     Links: 2

リンク数が2であることにもう一度注意してください。これは、このファイルがどこかに別のリストがあることを示します。これが他のファイルと同じファイルであることを知っているのは、同じinode番号を持つからです。残念ながら、これが(inode番号を介して)見つけることができる唯一の方法です。

findinodeを使って(たとえばを使用して)ファイルを見つけるための最良の方法についていくつかのアイデアがあります。このQ&A

おすすめ記事