Kurze Antwort: Wie finde ich alle Hardlinks in Linux?

Um alle harten Links auf einmal zu finden, müssen Sie Folgendes tun Finden Sie ausgespuckte Inodes für alle Dateien auf einem Gerät, und verwenden Sie dann Dinge wie sort und uniq, um Duplikate zu finden. Dadurch werden die Dateien im aktuellen Verzeichnis aufgelistet und ein ls darauf ausgeführt.

Sie können nach Hardlinks zur Inode-Nummer NUM suchen mit ' -inum NUM'. Wenn unterhalb des Verzeichnisses, in dem Sie die Suche starten, Dateisystem-Mount-Punkte vorhanden sind, verwenden Sie die Option „-xdev“, es sei denn, Sie verwenden auch die Option „-L“.

Windows mit NTFS-Dateisystem hat ein Limit von 1024 Hardlinks auf eine Datei.

Wie verwende ich find unter Linux?

Grundlegende Beispiele

  1. finden . – benennen Sie diese Datei.txt. Wenn Sie wissen müssen, wie Sie unter Linux eine Datei namens thisfile finden. …
  2. find /home -name *.jpg. Suchen Sie nach allen. jpg-Dateien in /home und Verzeichnissen darunter.
  3. finden . – Geben Sie f -leer ein. Suchen Sie im aktuellen Verzeichnis nach einer leeren Datei.
  4. find /home -user randomperson-mtime 6 -iname „.db“

Du kannst dich prüfen, ob eine Datei ein Symlink ist mit [ -L file ] . In ähnlicher Weise können Sie mit [ -f file ] testen, ob eine Datei eine reguläre Datei ist, aber in diesem Fall erfolgt die Überprüfung nach dem Auflösen von Symlinks. Hardlinks sind kein Dateityp, sie sind nur unterschiedliche Namen für eine Datei (jeden Typs).

Der Grund für das Festverknüpfen von Verzeichnissen ist nicht erlaubt ist ein bisschen technisch. Im Wesentlichen brechen sie die Dateisystemstruktur. Sie sollten generell sowieso keine Hardlinks verwenden. Symbolische Links ermöglichen die meisten der gleichen Funktionen, ohne Probleme zu verursachen (zB ln -s target link ).

So zeigen Sie die symbolischen Links in einem Verzeichnis an:

  1. Öffnen Sie ein Terminal und wechseln Sie in dieses Verzeichnis.
  2. Geben Sie den Befehl ein: ls -la. Dies soll alle Dateien im Verzeichnis lange auflisten, auch wenn sie versteckt sind.
  3. Die Dateien, die mit l beginnen, sind Ihre symbolischen Linkdateien.

1 Antwort. Jedes Verzeichnis hat einen Link zu sich selbst und seinem übergeordneten Verzeichnis (deshalb hat . eines leeren Verzeichnisses eine Linkanzahl von 2). Da jedoch jedes Verzeichnis auf sein übergeordnetes Verzeichnis verweist, enthält jedes Verzeichnis, das ein Unterverzeichnis hat, einen Link von diesem untergeordneten Verzeichnis.

Wenn Sie zwei Dateien mit identischen Eigenschaften finden, sich aber nicht sicher sind, ob sie fest verknüpft sind, Verwenden Sie den Befehl ls -i, um die Inode-Nummer anzuzeigen. Dateien, die fest miteinander verbunden sind, haben dieselbe Inode-Nummer. Die gemeinsame Inode-Nummer lautet 2730074, was bedeutet, dass diese Dateien identische Daten sind.

Ein harter Link wird niemals auf eine gelöschte Datei verweisen. Ein fester Link ist wie ein Zeiger auf die eigentlichen Dateidaten. Und der Zeiger wird in der Dateisystemterminologie „Inode“ genannt. Mit anderen Worten, das Erstellen eines Hardlinks ist das Erstellen eines weiteren Inodes oder eines Zeigers auf eine Datei.

Gefällt Ihnen dieser Beitrag? Bitte teilen Sie Ihren Freunden mit:
Betriebssystem heute