特定のinodeを指すすべてのハードリンクをパス/ファイル名またはファイル名で一覧表示する方法はありますか?ls -al
3つのファイルへのハードリンクがあるレポートがあり、2つだけが必要です。悪意のあるハードリンクをどのように見つけますか?
別の投稿を見つけました。 特定のファイルへのすべてのハードリンクを見つける方法は?
ただし、同じ名前のファイルのみを探します。これらのハードリンクの名前は同じでも異なっていてもかまいません。
ベストアンサー1
リンクされたファイルは、直系の親ファイルだけでなく、ファイルシステムのどこにでも配置できます。このレポートみんなinode別にグループ化されたホームディレクトリに3つ以上のハードリンクがあるファイル。すでに1つの例を見つけたかもしれませんが、他の興味のある例もあるかもしれません。
find ~ -type f -links +2 -printf 'inode %i links %n name %p\n' | sort -n
3方向はありませんが、これはグローバル双方向ハードリンクのテストです。
$ find ~ -type f -links +1 -printf 'inode %i links %n name %p\n' | sort -n
find: ‘/home/paul/.gvfs’: Permission denied
find: ‘/home/paul/.cache/dconf’: Permission denied
inode 6173828 links 2 name /home/paul/Calhoun.post
inode 6173828 links 2 name /home/paul/SandBox/JpgTool/Calhoun.again
inode 6296398 links 2 name /home/paul/SandBox/fileGroup/fileGroup.V05
inode 6296398 links 2 name /home/paul/SandBox/fileGroup/myHardLink