Sie können den folgenden Befehl ausführen:
find / -type f -printf '%n %p\n' | awk '$1 > 1{$1="";print}'
um alle fest verknüpften Dateien zu finden.
Oder @mbafford-Version:
find / -type f -links +1 -printf '%i %n %p\n'
find . -type f -links +1 2>/dev/null
gibt eine Liste aller Dateien aus, die mehr als einen Link haben, d. h. Dateien, zu denen ein harter Link existiert. Das Überschleifen ist dann relativ einfach – eine hackige Lösung, wenn Sie nicht so viele Dateien haben, wäre
for i in $(find . -type f -links +1 2>/dev/null); do find -samefile $i | awk '{printf "%s ", $1}'; printf "\n"; done | sort | uniq
Aber ich hoffe sehr, dass es bessere Lösungen gibt, indem man zum Beispiel den ersten find
vermietet call print inode numbers und dann mit find
ist -inum
Option, um alle mit diesem Inode verknüpften Dateien anzuzeigen.