Comment comparer le contenu de deux répertoires sous Linux/Ubuntu
Si vous avez déjà eu besoin de vérifier les différences entre deux dossiers sur votre machine Ubuntu, vous avez probablement remarqué à quel point il est facile de se sentir dépassé ou de se retrouver à parcourir manuellement les fichiers. C’est là que cette diff
commande excelle : elle est conçue pour ce genre de tâche et, bien qu’assez simple, son utilisation requiert quelques nuances. En résumé, une fois lancée, vous pourrez voir quels fichiers sont manquants, lesquels sont identiques et où se glissent les différences, y compris les sous-répertoires, sans effort. Idéal pour sauvegarder des données, déboguer ou simplement satisfaire votre curiosité quant aux similitudes ou aux différences entre deux répertoires, le tout depuis le terminal.
Comment comparer deux dossiers dans Ubuntu
Utilisez la commande diff avec les options récursives et brèves
C’est la méthode la plus courante et elle fonctionne bien dans la plupart des configurations. L’idée de base est d’utiliser diff
les options -q et -r, qui indiquent à diff de signaler uniquement si les fichiers diffèrent (et non comment), et ce de manière récursive, couvrant tous les sous-dossiers. Par exemple :
diff -qr ~/folder1 ~/folder2
Cette commande compare les dossiers 1 et 2 de votre répertoire personnel. Vous pouvez échanger les chemins avec ceux des répertoires que vous utilisez. Dans certaines configurations, vous devrez peut-être spécifier les chemins complets /home/username/Projects/folder1
, notamment si vous n’êtes pas dans le bon répertoire.
Pourquoi cela aide : Il signale rapidement les fichiers différents ou manquants, ce qui est souvent suffisant pour avoir une idée de l’état général de vos répertoires.
Quand l’utiliser : lorsque vous souhaitez un aperçu rapide, pas besoin de voir chaque ligne de différence, juste le résumé de ce qui est différent.
À quoi s’attendre : Vous verrez des lignes comme Only in folder1: file.txt
ou Files folder1/file.txt and folder2/file.txt differ
.
Parfois, un dossier peut sembler identique, mais présenter de légères différences ; cette commande les détecte sans problème. Sur une configuration, je l’ai exécutée et j’ai constaté une différence nette, tandis que sur une autre, le résultat était un peu écrasant, selon la quantité de données.
Afficher les différences détaillées pour les modifications de contenu
Si vous avez besoin de plus d’informations, comme les lignes spécifiques qui diffèrent, vous pouvez ignorer l’ option -q. Exécutez simplement :
diff -r ~/folder1 ~/folder2
Cet outil vous montrera les différences ligne par ligne dans les fichiers qui ne sont pas identiques. Pas toujours nécessaire, mais très utile pour identifier précisément ce qui a changé dans votre code ou vos configurations.
Gardez à l’esprit que sur des dossiers vraiment volumineux, cela peut représenter beaucoup de sortie. Parfois, il vaut la peine de le rediriger vers un fichier ou simplement d’utiliser un outil d’interface graphique, mais pour la plupart des vérifications rapides, cela convient.
Conseils supplémentaires et dépannage
- Les chemins sont importants : vérifiez toujours que vous comparez les bons répertoires avec des chemins absolus si vous n’êtes pas au même endroit.
- Si la sortie est trop bruyante, ajoutez l’ indicateur –brief pour des résultats encore plus simples :
- Vous pouvez également explorer d’autres options comme man diff pour voir toutes sortes d’indicateurs pour des besoins spécifiques.
- Parfois, les autorisations ou les liens symboliques causent des problèmes : exécutez la commande avec
sudo
si nécessaire, ou vérifiez vos droits d’accès aux dossiers.
diff --brief -r folderA folderB
Conclure
Cela devrait vous donner une base solide pour comparer rapidement des répertoires sous Ubuntu. Ce n’est pas parfait – le résultat peut parfois être un peu dense si les dossiers sont volumineux – mais c’est fiable, rapide et ne nécessite aucune application supplémentaire. Une fois que vous y serez habitué, vous vous demanderez comment vous avez pu vous en passer.
Questions fréquemment posées
Que fait exactement la commande diff ?
Il compare les fichiers ligne par ligne, vous montrant les différences. Lorsque vous lui attribuez des répertoires, il analyse tout leur contenu, vous permettant de repérer les fichiers manquants, nouveaux ou modifiés sans avoir à les ouvrir manuellement.
Puis-je comparer uniquement des fichiers ou des sous-dossiers spécifiques ?
Absolument. Indiquez simplement les chemins relatifs vers les deux fichiers ou dossiers dans la commande diff, par exemple diff file1.txt file2.txt
ou diff -r folderA/subfolder folderB/subfolder
.
Existe-t-il des alternatives graphiques pour comparer des dossiers ?
Oui. Des outils comme Meld ou Beyond Compare rendent le processus visuel et peuvent être plus simples si vous préférez cliquer plutôt que de passer par les lignes de commande. Mais pour des vérifications rapides, une simple recherche dans le terminal suffit.
- Vérifiez les répertoires avec ls ou le gestionnaire de fichiers avant de les comparer.
- Si vos répertoires sont volumineux, envisagez de filtrer la sortie ou d’ajouter des options supplémentaires.