Puoi eseguire il seguente comando :
find / -type f -printf '%n %p\n' | awk '$1 > 1{$1="";print}'
per trovare tutti i file hard-link.
Oppure versione @mbafford:
find / -type f -links +1 -printf '%i %n %p\n'
find . -type f -links +1 2>/dev/null
fornisce un elenco di tutti i file che hanno più di un collegamento, ovvero i file a cui esiste un collegamento fisico. Il loop su questo è quindi relativamente facile:una soluzione hacky se non si dispone di molti file sarebbe
for i in $(find . -type f -links +1 2>/dev/null); do find -samefile $i | awk '{printf "%s ", $1}'; printf "\n"; done | sort | uniq
Ma spero sinceramente che ci siano soluzioni migliori, ad esempio lasciando che il primo find
chiama i numeri di print inode e poi usa find
-inum
di opzione per mostrare tutti i file associati a questo inode.