Descripción general
cmp es una herramienta de comparación mucho más simple que el comando diff. Mientras que diff muestra las diferencias de los archivos en detalle línea por línea, cmp simplemente indica que 'los dos archivos son diferentes' y muestra la primera ubicación (desplazamiento de bytes) y el número de línea donde se produce la diferencia. Por lo tanto, es muy eficaz cuando solo se desea verificar la igualdad de archivos, como archivos de configuración o archivos binarios, sin necesidad de ver todo el contenido.
Características principales
Las características principales del comando cmp son las siguientes:
- Compara archivos byte a byte.
- Solo muestra la primera ubicación y número de línea donde se encuentran diferencias.
- Su salida simple lo hace adecuado para verificar la igualdad de archivos en scripts.
- Es especialmente útil para comparar archivos binarios.
Diferencias con diff
cmp y diff son herramientas de comparación de archivos, pero difieren en su propósito y método de salida.
- cmp: Comparación byte a byte, solo informa la primera diferencia, adecuado para archivos binarios.
- diff: Comparación línea por línea, informa todas las diferencias en detalle, adecuado para archivos de texto.
Opciones principales
Hemos agrupado las opciones más utilizadas del comando cmp según su propósito.
1) Opciones de comparación
2) Ayuda
Comando generado:
Combina los comandos.
Descripción:
`cmp` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Aprenda las funcionalidades del comando cmp a través de varios ejemplos de uso.
Comparar dos archivos de texto
echo 'Hello World' > file1.txt
echo 'Hello World' > file2.txt
cmp file1.txt file2.txt
Si se comparan dos archivos de texto idénticos, no se muestra nada.
Comparar dos archivos de texto diferentes
echo 'Hello World' > file1.txt
echo 'Hello, World' > file2.txt
cmp file1.txt file2.txt
Si el contenido de los archivos difiere, se muestra la posición del byte y el número de línea de la primera diferencia.
Comparar archivos binarios
cmp /bin/ls /bin/cmp
Verifica fácilmente si los archivos binarios son idénticos. Si no hay salida, los archivos son iguales.
Uso en scripts
cmp -s file1.txt file2.txt && echo 'Los archivos son idénticos.' || echo 'Los archivos son diferentes.'
Utiliza el código de salida de cmp para realizar un procesamiento condicional según la igualdad de los archivos.
Códigos de salida
cmp informa el resultado de la comparación a través de códigos de salida, lo que lo hace útil para scripts.
Código | Significado |
---|---|
0 | Los dos archivos son idénticos |
1 | Los dos archivos son diferentes |
2 | Archivo inaccesible u opción errónea |
Instalación
cmp está incluido por defecto en la mayoría de las distribuciones de Linux como parte del paquete `diffutils`. No se requiere instalación adicional.
Consejos y precauciones
Aquí se resumen los puntos a tener en cuenta al usar el comando cmp.
Consejos
- cmp está optimizado para la comparación de archivos binarios. Para ver las diferencias de contenido en archivos de texto, es mejor usar `diff`.
- La opción `cmp -s` es conveniente para usar en scripts con sentencias `if` o operadores `&&`/`||`, ya que no produce salida.
- Las posiciones de los bytes comienzan en 1, y los valores de los bytes mostrados con `cmp -l` están en notación octal.