Vous pouvez exécuter la commande suivante :
find / -type f -printf '%n %p\n' | awk '$1 > 1{$1="";print}'
pour trouver tous les fichiers liés en dur.
Ou version @mbafford :
find / -type f -links +1 -printf '%i %n %p\n'
find . -type f -links +1 2>/dev/null
donne une liste de tous les fichiers qui ont plus d'un lien, c'est-à-dire les fichiers vers lesquels il existe un lien physique. Boucler dessus est alors relativement facile - une solution hacky si vous n'avez pas autant de fichiers serait
for i in $(find . -type f -links +1 2>/dev/null); do find -samefile $i | awk '{printf "%s ", $1}'; printf "\n"; done | sort | uniq
Mais j'espère sincèrement qu'il existe de meilleures solutions, par exemple en laissant le premier find
appelez les numéros d'inode d'impression, puis utilisez find
est -inum
option pour afficher tous les fichiers associés à cet inode.