cmp (Unix)
Script error: No such module "Infobox". Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters".
cmp is a shell command that compares two files of any type and reports differences. By default, it outputs nothing if the files match. If they differ, it reports the byte and line number of the first difference. The exit code can be used programmatically since it is 0 if the files match, 1 if the files differ or 2 if comparison fails (i.e. inaccessible or missing argument).
The command is available on Unix-like systems, OS-9, IBM i and Windows (via UnxUtils).[1][2][3] The command first appeared in Version 1 Unix.[4] It is part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX.1 and the Single Unix Specification.[5] The implementation in GNU coreutils was written by Torbjorn Granlund and David MacKenzie.[6]
Use
Command line options include:
| Option | Description | Unix | Plan 9 | Inferno | FreeBSD | Linux | IBM i |
|---|---|---|---|---|---|---|---|
| <templatestyles src="Mono/styles.css" />-b, --print-bytes |
Print the differing bytes; display control bytes as a '<templatestyles src="Mono/styles.css" />^' followed by a letter of the alphabet and precede bytes that have the high bit set with '<templatestyles src="Mono/styles.css" />M-' (which stands for "meta") | No | No | No | No | Yes | No |
| <templatestyles src="Mono/styles.css" />-h | Do not follow symbolic links | No | No | No | Yes | No | No |
| <templatestyles src="Mono/styles.css" />-i SKIP, --ignore-initial=SKIP |
Skip the first SKIP bytes of input | No | No | No | No | Yes | No |
| <templatestyles src="Mono/styles.css" />-i SKIP1:SKIP2, --ignore- initial= SKIP1:SKIP2 |
Skip the first SKIP1 bytes of FILE1 and the first SKIP2 bytes of FILE2 | No | No | No | No | Yes | No |
| <templatestyles src="Mono/styles.css" />-l, --verbose |
Print the (decimal) byte numbers and (octal) values of all differing bytes, instead of the default info; also, print the EOF message if one file is shorter than the other | Yes | Yes | Yes | Yes | Yes | Yes |
| <templatestyles src="Mono/styles.css" />-L | Print the line number of the first differing byte | Yes | Yes | Yes | No | No | No |
| <templatestyles src="Mono/styles.css" />-n LIMIT, --bytes=LIMIT |
Compare at most LIMIT bytes | No | No | No | No | Yes | No |
| <templatestyles src="Mono/styles.css" />-s, --quiet, --silent |
Print nothing; yield exit status only | Yes | Yes | Yes | Yes | Yes | Yes |
| <templatestyles src="Mono/styles.css" />-t | Text mode where the files are opened in text mode and translated to the CCSID of the job before comparing byte for byte | No | No | No | No | No | Yes |
| <templatestyles src="Mono/styles.css" />-v, --version |
Print version info | No | No | No | No | Yes | No |
| <templatestyles src="Mono/styles.css" />-x | Like -l but prints in hexadecimal and using zero as index for the first byte in the files | No | No | No | Yes | No | No |
| <templatestyles src="Mono/styles.css" />-z | For regular files, compare file sizes first, and fail if they are not equal | No | No | No | Yes | No | No |
| <templatestyles src="Mono/styles.css" />--help | Print command-line help info | No | No | No | No | Yes | No |
Operands that are byte counts are decimal by default, but may be preceded by '<templatestyles src="Mono/styles.css" />0' for octal and '<templatestyles src="Mono/styles.css" />0x' for hexadecimal.
A byte count can be followed by a suffix to specify a multiple of that count; in this case an omitted integer is understood to be 1. A bare size letter, or one followed by '<templatestyles src="Mono/styles.css" />iB', specifies a multiple using powers of 1024. A size letter followed by '<templatestyles src="Mono/styles.css" />B' specifies powers of 1000 instead. For example, '<templatestyles src="Mono/styles.css" />-n 4M' and '<templatestyles src="Mono/styles.css" />-n 4MiB' are equivalent to '<templatestyles src="Mono/styles.css" />-n 4194304', whereas '<templatestyles src="Mono/styles.css" />-n 4MB' is equivalent to '<templatestyles src="Mono/styles.css" />-n 4000000'. This notation is upward compatible with the SI prefixes[7] for decimal multiples and with the IEC 60027-2 prefixes for binary multiples.[8]
Example
See also
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ – FreeBSD General Commands Manual
- ↑ – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
External links
Script error: No such module "Side box".
- : compare two files – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group
- Comparing and Merging Files: Invoking cmp The section of the manual of GNU cmp in the diffutils free manual.
Script error: No such module "Navbox". Template:Plan 9 commands