Aperçu
cmp est un outil de comparaison bien plus simple que la commande diff. Alors que diff affiche les différences entre les fichiers ligne par ligne de manière détaillée, cmp se contente d'indiquer que 'les deux fichiers sont différents', ainsi que la première position (offset en octets) et le numéro de ligne où la différence apparaît. Il est donc très efficace lorsque vous souhaitez simplement vérifier la correspondance de fichiers, comme les fichiers de configuration ou les fichiers binaires, sans avoir besoin de visualiser l'intégralité de leur contenu.
Caractéristiques principales
Les principales caractéristiques de la commande cmp sont les suivantes :
- Compare les fichiers octet par octet.
- Affiche uniquement la première position et le numéro de ligne où une différence se produit.
- La sortie est simple, ce qui la rend adaptée pour vérifier la correspondance de fichiers dans des scripts.
- Particulièrement utile pour la comparaison de fichiers binaires.
Différences avec diff
cmp et diff sont tous deux des outils de comparaison de fichiers, mais ils diffèrent par leur objectif et leur mode de sortie.
- cmp: Comparaison octet par octet, rapporte uniquement la première différence, adapté à la comparaison de fichiers binaires.
- diff: Comparaison ligne par ligne, rapporte toutes les différences en détail, adapté à la comparaison de fichiers texte.
Options principales
Les options fréquemment utilisées de la commande cmp sont regroupées par objectif.
1) Options de comparaison
2) Aide
Commande générée :
Essayez de combiner les commandes.
Description:
`cmp` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Découvrez les fonctionnalités de la commande cmp à travers divers exemples d'utilisation.
Comparer deux fichiers texte
echo 'Hello World' > file1.txt
echo 'Hello World' > file2.txt
cmp file1.txt file2.txt
Si vous comparez deux fichiers texte identiques, rien ne sera affiché.
Comparer deux fichiers texte différents
echo 'Hello World' > file1.txt
echo 'Hello, World' > file2.txt
cmp file1.txt file2.txt
Si le contenu des fichiers diffère, la position de l'octet et le numéro de ligne de la première différence sont affichés.
Comparer des fichiers binaires
cmp /bin/ls /bin/cmp
Vérifie simplement la correspondance des fichiers binaires. S'il n'y a pas de sortie, les fichiers sont identiques.
Utilisation dans un script
cmp -s file1.txt file2.txt && echo 'Les fichiers sont identiques.' || echo 'Les fichiers sont différents.'
Utilise le code de sortie de cmp pour gérer la logique en fonction de la correspondance des fichiers.
Codes de sortie
cmp communique les résultats de la comparaison via des codes de sortie, ce qui est utile pour une utilisation dans des scripts.
Code | Signification |
---|---|
0 | Les deux fichiers sont identiques |
1 | Les deux fichiers sont différents |
2 | Fichier inaccessible ou erreur d'option |
Installation
cmp est inclus par défaut dans la plupart des distributions Linux, en tant que partie du package `diffutils`. Aucune installation séparée n'est requise.
Astuces & Précautions
Voici quelques points à considérer lors de l'utilisation de la commande cmp.
Astuces
- cmp est optimisé pour la comparaison de fichiers binaires. Pour visualiser les différences de contenu dans des fichiers texte, il est préférable d'utiliser `diff`.
- L'option `cmp -s` ne produit aucune sortie, ce qui la rend pratique à utiliser avec des instructions `if` ou des opérateurs `&&`/`||` dans les scripts.
- Les positions des octets commencent à 1, et les valeurs des octets affichées par `cmp -l` sont en notation octale.