GNU/Linux >> Tutoriels Linux >  >> Linux

Comparer les répertoires mais pas le contenu des fichiers ?

Avec

diff -r

Je peux faire cette tâche, mais cela prend tellement de temps car diff vérifie le contenu du fichier.

Je veux quelque chose qui détermine que deux fichiers sont identiques en ce qui concerne leur taille, leur dernière modification, etc. Mais pas de vérification petit à petit du fichier (par exemple, une vidéo prend tellement de temps).

Existe-t-il un autre moyen ?

Réponse acceptée :

rsync, par défaut, ne compare que les métadonnées des fichiers. cela signifie horodatage, taille et attributs. entre autres. mais pas le contenu des fichiers.

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

explication :

  • -n ne pas copier ou supprimer réellement <– C'EST IMPORTANT !!1
  • -a comparer toutes les métadonnées du fichier comme l'horodatage et les attributs
  • -i imprimer une ligne d'information par fichier
  • --delete signaler également les fichiers qui ne sont pas dans la source

remarque :il est important d'ajouter une barre oblique aux noms de répertoire. c'est une chose rsync.

vous pouvez raccourcir les options d'une lettre comme ceci

rsync -nai --delete source/ target/

si vous souhaitez également voir les lignes imprimées pour les fichiers identiques, fournissez -i deux fois

rsync -naii --delete source/ target/

exemple de sortie :

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

rappelez-vous que rsync ne compare que les métadonnées. cela signifie que si le contenu du fichier a changé mais que les métadonnées sont restées les mêmes, rsync signalera que le fichier est le même. c'est un scénario peu probable. donc, soit faites confiance au fait que lorsque les métadonnées sont identiques, les données sont identiques, soit vous devez comparer les données de fichier bit par bit.

bonus :pour des informations sur la progression, voir ici :Estimer le temps ou le travail restant pour terminer pour rsync ?


Linux
  1. Un moyen facile de masquer des fichiers et des répertoires sous Linux

  2. Déplacer des fichiers en lisant leurs noms de fichiers vers différents répertoires ?

  3. Comment comparer le contenu de deux archives tar

  4. Core dumpé, mais le fichier core n'est pas dans le répertoire courant ?

  5. Linux comment copier mais pas écraser ?

Comment déplacer des fichiers et des répertoires sous Linux (commande mv)

Comment comparer et fusionner des fichiers texte sous Linux

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

Synchronisation des fichiers et répertoires Linux avec rsync

Comment copier des fichiers et des répertoires dans un terminal Linux

Commande Stat :Afficher les attributs des fichiers et des répertoires