GNU/Linux >> Linux Esercitazione >  >> Linux

Confronta le directory ma non il contenuto dei file?

Con

diff -r

Posso svolgere questo compito, tuttavia ci vuole così tanto tempo perché diff controlla il contenuto del file.

Voglio qualcosa che determini che due file sono gli stessi per quanto riguarda le loro dimensioni, l'ultima modifica, ecc. Ma nessun controllo a poco a poco il file (ad esempio un video richiede molto tempo).

C'è un altro modo?

Risposta accettata:

rsync, per impostazione predefinita, confronta solo i metadati dei file. ciò significa timestamp, dimensioni e attributi. tra gli altri. ma non il contenuto dei file.

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

spiegazione:

  • -n non copiare o eliminare effettivamente <– QUESTO È IMPORTANTE!!1
  • -a confronta tutti i metadati del file come timestamp e attributi
  • -i stampa una riga di informazioni per file
  • --delete segnala anche i file che non sono nel sorgente

nota:è importante aggiungere i nomi delle directory con una barra. questa è una cosa di rsync.

puoi abbreviare le opzioni di una lettera in questo modo

rsync -nai --delete source/ target/

se vuoi vedere anche le righe stampate per file identici, fornisci -i due volte

rsync -naii --delete source/ target/

esempio di output:

*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)

ricorda che rsync confronta solo i metadati. ciò significa che se il contenuto del file è cambiato ma i metadati sono rimasti gli stessi, rsync segnalerà che il file è lo stesso. questo è uno scenario improbabile. quindi o fidati che quando i metadati sono gli stessi, i dati sono gli stessi, oppure devi confrontare i dati dei file bit per bit.

bonus:per informazioni sullo stato di avanzamento, vedere qui:Tempo stimato o lavoro rimasto per completare la rsync?


Linux
  1. Un modo semplice per nascondere file e directory in Linux

  2. Spostare i file leggendo i loro nomi di file in directory diverse?

  3. Perché i file non possono essere manipolati da inode?

  4. RSYNC non elimina le directory di origine

  5. Concedi il permesso di esecuzione alle directory ma non ai file

Come spostare file e directory in Linux (comando mv)

Come confrontare e unire file di testo su Linux

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Mantenere sincronizzati file e directory Linux con rsync

Come copiare file e directory nel terminale Linux

Comando Stat:Visualizza gli attributi di file e directory