Inicio > Procesamiento y búsqueda de texto > cmp

cmp: Comparación de dos archivos byte a byte

El comando cmp compara dos archivos byte a byte e informa la primera ubicación y número de línea donde los archivos difieren. Es útil para verificar rápidamente la igualdad de archivos binarios o de texto simples.

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.

Estados de salida de cmp
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.

comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.


Comandos de la misma categoría