GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich alle fest verlinkten Dateien in einem Dateisystem?

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.


Linux
  1. Wie finde ich unter Linux alle Dateien, die größer als 1 GB sind?

  2. Wie finde ich alle Dateien/Ordner mit 777-Berechtigung in Linux?

  3. Wie man alle Dateien und Verzeichnisse rekursiv auflistet

  4. Wie finde ich alle Dateien mit der Endung .rb unter Linux?

  5. Wie kann ich rekursiv alle Dateien in aktuellen und Unterordnern finden, basierend auf dem Platzhalterabgleich?

So finden Sie Dateien unter Linux

So finden Sie Dateien in Debian

Wie kann ich alle Dateien bearbeiten, die von find in vi in ​​Linux zurückgegeben werden?

So finden Sie alle Null-Byte-Dateien im Verzeichnis

Wie kann ich alle leeren Dateien und Verzeichnisse in Linux rekursiv löschen?

Wie listet man alle Dateien einer Partition unter Linux auf?