GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso trovare tutti i file hardlink su un filesystem?

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.


Linux
  1. Come trovare un file in Linux in tutte le directory in modo ricorsivo

  2. Come trovare tutti i file relativi a un software?

  3. Come trovare tutti i file di proprietà di un utente specifico in Unix/Linux?

  4. Come trovare tutti i file sparsi in Linux

  5. Come elencare in modo ricorsivo tutti i file e le directory

Come trovare file in Linux

Come trovare file in Debian

Come trovare tutti i file a zero byte nella directory

Come posso bzip2 in modo ricorsivo tutti i file che non sono bzip?

Come posso eliminare in modo ricorsivo tutti i file e le directory vuoti in Linux?

Come elencare tutti i file di una partizione su Linux?