次のコマンドを実行できます:
find / -type f -printf '%n %p\n' | awk '$1 > 1{$1="";print}'
ハードリンクされたすべてのファイルを検索します。
または @mbafford バージョン:
find / -type f -links +1 -printf '%i %n %p\n'
find . -type f -links +1 2>/dev/null
複数のリンクを持つすべてのファイル、つまりハードリンクが存在するファイルのリストを返します。これをループするのは比較的簡単です。それほど多くのファイルがない場合は、ハッキーな解決策になります
for i in $(find . -type f -links +1 2>/dev/null); do find -samefile $i | awk '{printf "%s ", $1}'; printf "\n"; done | sort | uniq
しかし、たとえば最初の find
を許可するなど、より良い解決策があることを心から願っています print i ノード番号を呼び出してから find
を使用する の -inum
この inode に関連付けられたすべてのファイルを表示するオプション。