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

Vergleichen Sie Verzeichnisse, aber nicht den Inhalt von Dateien?

Mit

diff -r

Ich kann diese Aufgabe erledigen, aber es dauert so lange, weil diff überprüft den Inhalt der Datei.

Ich möchte etwas, das feststellt, dass zwei Dateien in Bezug auf Größe, letzte Änderung usw. gleich sind. Aber keine Überprüfung der Datei nach und nach (z. B. ein Video dauert sooo lange).

Gibt es einen anderen Weg?

Akzeptierte Antwort:

rsync vergleicht standardmäßig nur Dateimetadaten. das bedeutet Zeitstempel, Größe und Attribute. unter anderen. aber nicht Inhalt von Dateien.

rsync -n -a -i --delete source/ target/

Erklärung:

  • -n kopieren oder löschen Sie nicht <– DAS IST WICHTIG!!1
  • -a Vergleichen Sie alle Metadaten der Datei wie Zeitstempel und Attribute
  • -i eine Informationszeile pro Datei drucken
  • --delete auch Dateien melden, die nicht im Quelltext sind

Hinweis:Es ist wichtig, die Verzeichnisnamen mit einem Schrägstrich anzuhängen. das ist eine rsync-Sache.

Sie können die Ein-Buchstaben-Optionen wie folgt verkürzen

rsync -nai --delete source/ target/

Wenn Sie auch Zeilen sehen möchten, die für identische Dateien gedruckt werden, geben Sie -i ein zweimal

rsync -naii --delete source/ target/

Beispielausgabe:

*deleting   removedfile   (file in target but not in source)
.d..t...... ./            (directory with different timestamp)
>f.st...... modifiedfile  (file with different size and timestamp)
>f+++++++++ newfile       (file in source but not in target)
.f          samefile      (file that has same metadata. only with -ii)

Denken Sie daran, dass rsync nur Metadaten vergleicht. Das heißt, wenn sich der Dateiinhalt geändert hat, die Metadaten jedoch gleich geblieben sind, meldet rsync, dass die Datei gleich ist. Dies ist ein unwahrscheinliches Szenario. Vertrauen Sie also entweder darauf, dass die Daten gleich sind, wenn die Metadaten gleich sind, oder Sie müssen die Dateidaten Bit für Bit vergleichen.

Bonus:Fortschrittsinformationen finden Sie hier:Schätzen Sie die verbleibende Zeit oder Arbeit bis zum Abschluss von rsync?


Linux
  1. Eine einfache Möglichkeit, Dateien und Verzeichnisse in Linux zu verstecken

  2. Warum können Dateien nicht von Inode manipuliert werden?

  3. Entfernen Sie nur Dateien in Verzeichnissen unter Linux, NICHT in Verzeichnissen

  4. Linux wie kopieren, aber nicht überschreiben?

  5. bash - entfernt alle Verzeichnisse (und Inhalte), aber keine Dateien in pwd

So verschieben Sie Dateien und Verzeichnisse in Linux (mv-Befehl)

Wie man Textdateien unter Linux vergleicht und zusammenführt

So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux

Linux-Dateien und -Verzeichnisse mit rsync synchron halten

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

Stat-Befehl:Attribute von Dateien und Verzeichnissen anzeigen