En informática , cmp
es una utilidad de línea de comandos para sistemas informáticos que utilizan Unix o un sistema operativo similar a Unix . Compara dos archivos de cualquier tipo y escribe los resultados en la salida estándar . De forma predeterminada, cmp
es silencioso 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]
Autor (es) original (es) | Dennis Ritchie ( Laboratorios Bell de AT&T ) |
---|---|
Desarrollador (es) | Varios desarrolladores comerciales y de código abierto |
Versión inicial | 3 de noviembre de 1971 |
Sistema operativo | Unix , similar a Unix , Plan 9 , Inferno , OS-9 , IBM i |
Tipo | Mando |
Licencia | coreutils : GPLv3 + |
Historia
cmp
es parte de X / Open Portability Guide desde el número 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 coreutilscmp
incluida en GNU fue escrita por Torbjorn Granlund y David MacKenzie. [4]
El comando cmp también se ha trasladado al sistema operativo IBM i . [5]
Interruptores
cmp
puede calificarse mediante el uso de modificadores de línea de comandos . Los conmutadores admitidos por implementaciones notables de cmp
son:
Nombre | Descripción | Unix | Plan 9 | Infierno | FreeBSD | Linux | IBM i |
---|---|---|---|---|---|---|---|
-b, | Imprime los bytes diferentes. Muestra los bytes de control como ' ^ ' seguidos de una letra del alfabeto y preceden los bytes que tienen el bit alto configurado con ' M- ' (que significa " meta "). | No | No | No | No | sí | No |
-h | No sigas enlaces simbólicos. | No | No | No | sí | No | No |
-i SKIP, | Omita los primeros bytes de SKIP de entrada. | No | No | No | No | sí | No |
-i SKIP1:SKIP2, | Omita los primeros bytes SKIP1 de FILE1 y los primeros bytes SKIP2 de FILE2. | No | No | No | No | sí | No |
-l, | Genere 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, envíe el mensaje EOF si un archivo es más corto que el otro. | sí | sí | sí | sí | sí | sí |
-L | Imprima el número de línea del primer byte diferente. | sí | sí | sí | No | No | No |
-n LIMIT, | Compare como máximo LIMIT bytes. | No | No | No | No | sí | No |
-s, | Salida nada; ceder el estado de salida solamente. | sí | sí | sí | sí | sí | sí |
-t | Modo de texto donde los archivos se abren en modo de texto y se traducen al CCSID del trabajo antes de comparar byte por byte. | No | No | No | No | No | sí |
-v, | Información de la versión de salida. | No | No | No | No | sí | No |
-x | Como -l pero se imprime en hexadecimal y usando cero como índice para el primer byte en los archivos. | No | No | No | sí | No | No |
-z | Para archivos normales, compare primero los tamaños de archivo y falle la comparación si no son iguales. | No | No | No | sí | No | No |
--help | Genera un archivo de ayuda. | No | No | No | No | sí | No |
Los operandos que son recuentos de bytes son normalmente decimales, pero pueden estar precedidos por " 0
" para octal y " 0x
" para hexadecimal.
Un recuento de bytes puede ir seguido de un sufijo para especificar un múltiplo de ese recuento; 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 usando 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 SI [6] para múltiplos decimales y con los prefijos IEC 60027-2 para múltiplos binarios. [7]
Valores devueltos
- 0 - los archivos son idénticos
- 1 - los archivos difieren
- 2 - argumento inaccesible o faltante
Ver también
- Comparación de herramientas de comparación de archivos
- Lista de comandos de Unix
Referencias
- ^ Paul S. Dayan (1992). The OS-9 Guru - 1: Los hechos . Galáctica Industrial Limited. ISBN 0-9519228-0-7.
- ^ - Referencia de comandos y utilidades, la especificación única de UNIX , número 7 de The Open Group
- ^ - Manual de comandos generales de FreeBSD
- ^ "cmp (1): compara dos archivos byte por byte - página de manual de Linux" . linux.die.net .
- ^ IBM . "IBM System i Versión 7.2 Programación Qshell" (PDF) . Consultado el 5 de septiembre de 2020 .
- ^ http://www.bipm.fr/enus/3_SI/si-prefixes.html
- ^ "Definiciones de las unidades SI: Los prefijos binarios" . physics.nist.gov . Consultado el 21 de abril de 2018 .
enlaces externos
- : compare dos archivos - Commands & Utilities Reference, The Single UNIX Specification , Issue 7 from The Open Group
- Comparar y fusionar archivos : invocar cmp La sección del manual de GNU cmp en el manual gratuito de diffutils .