cmp (Unix)

Utilidad de comparación de archivos de computadora
cmp
Autor(es) original(es)Dennis Ritchie
( Laboratorios Bell de AT&T )
Desarrollador(es)Varios desarrolladores comerciales y de código abierto
Lanzamiento inicial3 de noviembre de 1971 ; hace 52 años ( 03-11-1971 )
Escrito enPlan 9: C
Sistema operativoUnix , similar a Unix , Plan 9 , Inferno , OS-9 , IBM i
TipoDominio
Licenciacoreutils : GPLv3+
Plan 9: Licencia MIT

En informática , cmpes una utilidad de línea de comandos en sistemas operativos Unix y similares a Unix que compara dos archivos de cualquier tipo y escribe los resultados en la salida estándar . De manera predeterminada, no se menciona si los archivos son iguales; si difieren, se informa el byte y el número de línea en el que se produjo la primera diferencia. El comando también está disponible en el shell OS-9 . [1]cmp

Historia

cmpes parte de la Guía de Portabilidad X/Open desde la edición 2 de 1987. Fue heredado en la primera versión de POSIX.1 y la Especificación Única de Unix . [2] Apareció por primera vez en la Versión 1 de Unix . [3] La versión de cmpincluida en GNU coreutils fue escrita por Torbjorn Granlund y David MacKenzie. [4] El comando está disponible como un paquete separado para Microsoft Windows como parte de la colección UnxUtils de puertos Win32 nativos de utilidades comunes de GNU similares a Unix. [5] El comando cmp también ha sido portado al sistema operativo IBM i . [6]

Interruptores

cmpPuede calificarse mediante el uso de modificadores de línea de comandos . Los modificadores admitidos por implementaciones notables de cmpson:

NombreDescripciónUnixPlan 9InfiernoBSD libreLinuxIBM i
-b,
--print-bytes
Imprima los bytes diferentes. Muestre los bytes de control como un ' ^' seguido de una letra del alfabeto y preceda los bytes que tienen el bit alto configurado con ' M-' (que significa " meta ").NoNoNoNoNo
-hNo sigas enlaces simbólicos.NoNoNoNoNo
-i SKIP,
--ignore-initial=SKIP
Omitir los primeros bytes SKIP de entrada.NoNoNoNoNo
-i SKIP1:SKIP2,
--ignore-initial=SKIP1:SKIP2
Omite los primeros bytes SKIP1 de FILE1 y los primeros bytes SKIP2 de FILE2.NoNoNoNoNo
-l,
--verbose
Genera los números de bytes (decimales) y los valores (octales) de todos los bytes diferentes, en lugar de la salida estándar predeterminada.

Además, muestra el mensaje EOF si un archivo es más corto que el otro.

-LImprime el número de línea del primer byte diferente.NoNoNo
-n LIMIT,
--bytes=LIMIT
Comparar como máximo LIMIT bytes.NoNoNoNoNo
-s,
--quiet,
--silent
No generar nada; solo generar estado de salida.
-tModo de texto donde los archivos se abren en modo texto y se traducen al CCSID del trabajo antes de comparar byte por byte.NoNoNoNoNo
-v,
--version
Información de la versión de salida.NoNoNoNoNo
-xComo -l pero imprime en hexadecimal y utiliza cero como índice para el primer byte en los archivos.NoNoNoNoNo
-zPara los archivos normales, primero compare los tamaños de los archivos y falle la comparación si no son iguales.NoNoNoNoNo
--helpGenera un archivo de ayuda.NoNoNoNoNo

Los operandos que son recuentos de bytes normalmente son decimales, pero pueden estar precedidos por ' 0' para octal y ' 0x' para hexadecimal.

Un número de bytes puede ir seguido de un sufijo para especificar un múltiplo de ese número; en este caso, se entiende que un entero omitido es 1. Una letra de tamaño simple, o una seguida de ' iB', especifica un múltiplo utilizando potencias de 1024. Una letra de tamaño seguida de ' B' especifica potencias de 1000 en su lugar. Por ejemplo, ' -n 4M' y ' -n 4MiB' son equivalentes a ' -n 4194304', mientras que ' -n 4MB' es equivalente a ' -n 4000000'. Esta notación es compatible con los prefijos del SI [7] para múltiplos decimales y con los prefijos IEC 60027-2 para múltiplos binarios. [8]

Ejemplo

Ejemplo de uso de cmppara buscar bytes diferentes entre dos archivos txt

Valores de retorno

  • 0 – los archivos son idénticos
  • 1 – los archivos difieren
  • 2 – argumento inaccesible o faltante

Véase también

Referencias

  1. ^ Paul S. Dayan (1992). El gurú del OS-9 - 1: Los hechos . Galactic Industrial Limited. ISBN 0-9519228-0-7.
  2. ^ printf  – Referencia de shell y utilidades, La especificación única de UNIX , versión 4 de The Open Group
  3. ^ cmp(1)  –  Manual de comandos generales de FreeBSD
  4. ^ "cmp(1): comparar dos archivos byte a byte - Página del manual de Linux". linux.die.net .
  5. ^ "Puertos Win32 nativos de algunas utilidades GNU". unxutils.sourceforge.net .
  6. ^ IBM . "Programación Qshell para IBM System i versión 7.2" (PDF) . IBM . Consultado el 5 de septiembre de 2020 .
  7. ^ "Bienvenido - BIPM".
  8. ^ "Definiciones de las unidades del SI: Los prefijos binarios". physics.nist.gov . Consultado el 21 de abril de 2018 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Cmp_(Unix)&oldid=1226206045"