Finde Hard-Links

Um hard links auf dem System zu finden muss man ein wenig ticksen. Hard Links sind Namen die auf einen Inode einer anderen Datei verweisen. Es wird kein neuer Inode erzeugt. Mit ls -i kann man sich die Inodes der Dateien im Verzeichnis anzeigen lassen. Dateien mit gleicher Inode-Nummer sind Hardlinks. Im Prinzip ist jede Datei ein Hardlink. Mittels ln HARDLINKNAME GELINKTEDATEI wird ein weitere Verweis auf den Inode einer Datei erzeugt. Nun müssen wir alle Hardlinks finden:
find / -type f -printf '%n %i %p\n' | awk '$1 > 1{$1="";print}'
%n : Anzahl der Links
%i : Indoe-Nummer
%p : Pfad der Datei (dirname/basename)
\n : newline

Das awk-Kommando zeigt dann alle Einträge mit mehr als einem Link: $1 > 1. Alternativ gibt folgende Befehl alle Dateien mit mehr als einem Link aus
find . -type f -links +1 Und letztendlich als Einzeiler mit nur dem find-Kommando:
find . -type f -links +1 -printf '%n %i %p\n'