GNU/Linux >> Tutoriels Linux >  >> Linux

Comment comparer les différences entre les répertoires (linux)

Solution 1 :

À partir de la page de manuel diff :

Si le fichier de départ et le fichier de destination sont des répertoires, diff compare les fichiers correspondants dans les deux répertoires, par ordre alphabétique ; cette comparaison n'est pas récursive sauf si l'option -r ou --recursive est donnée.diff ne compare jamais le contenu réel d'un répertoire comme s'il s'agissait d'un fichier. Le fichier qui est entièrement spécifié peut ne pas être une entrée standard, car l'entrée standard est sans nom et la notion de « fichier avec le même nom » ne s'applique pas.

Donc pour comparer les répertoires :diff --brief -r dir1 dir2

Pour comparer des fichiers côte à côte :diff --side-by-side file1 file2

Solution 2 :

En supposant :

  • nous sommes le www1 , en comparaison avec la télécommande www2
  • il y a une authentification par clé ssh publique configurée à partir du www1 local à distance www2
  • nous comparons le même utilisateur sur le www1 local et télécommande www2
find /var/www/html/ -name "*" -exec md5sum -b {} \; | grep -v "/var/www/html/exclude_this dir" > local.md5
ssh www2 "find /var/www/html/ -name '*' -exec md5sum -b {} \; | grep -v /var/www/html/exclude_this dir > remote.md5"
scp www2:remote.md5 .
diff local.md5 remote.md5 

Solution 3 :

Vous voulez vraiment combiner la puissance de rsync pour réduire la consommation de bande passante avec la puissance de diff pour vous donner des différences flexibles, euh.

Donc quelque chose comme ça :

cp -R $local $bak
rsync $server:$remdir/* $local/
rsync $local/ $server:$remdir/* 
diff -wur $local $bak

Je suppose que vous pourriez modifier un peu cela si vous le faisiez souvent en utilisant rsync au lieu de cp dans la première ligne - évidemment dans la dernière ligne, vous avez toute la puissance de diff pour le formater comme bon vous semble. Probablement avec y dans le cas des OP

L'inconvénient de cette approche est que vous finissez par utiliser deux fois plus d'espace local, mais à moins de 1 $/concert, qui s'en soucie ?


Linux
  1. Comment synchroniser les répertoires locaux et distants sous Linux

  2. Comment monter un partage Windows à distance sur Linux

  3. Comment renommer un répertoire sous Linux

  4. Comment faire la différence (uniquement les ajouts) entre deux fichiers sous Linux

  5. Comment différencier les répertoires sur ssh

Comment renommer des répertoires sous Linux

Comment comparer des répertoires avec Meld sous Linux

Comment naviguer plus rapidement dans les répertoires sous Linux

Comment comparer des fichiers sous Linux à l'aide de l'outil Meld (Diff/Merge)

Comment comparer deux fichiers dans un terminal Linux

Comment lister uniquement les répertoires sous Linux