cmp (Unix)
| cmp | |
|---|---|
| Original author(s) | Dennis Ritchie (AT&T Bell Laboratories) |
| Developer(s) | Various open-source and commercial developers |
| Initial release | November 3, 1971 |
| Operating system | Unix, Unix-like, Plan 9, Inferno, OS-9, IBM i |
| Type | Command |
| License | coreutils: GPLv3+ |
컴퓨팅에서, cmp는 유닉스 또는 유닉스-계열 운영 시스템을 사용하는 컴퓨터 시스템에 대해 명령줄 유틸리티입니다. 그것은 임의의 유형의 두 파일을 비교하고 결과를 표준 출력에 씁니다. 기본적으로, cmp는 파일이 같으면 침묵합니다; 만약 그것들이 차이가 있으면, 첫 번째 차이가 발생된 파일에서 바이트 및 줄 번호가 보고됩니다. 그 명령은 OS-9 쉘에서도 사용할 수 있습니다.[1]
History
cmp는 1987년 2호부터 X/Open 이식성 가이드의 일부입니다. 그것은 POSIX.1의 첫 번째 버전과 단일 유닉스 사양으로 상속되었습니다.[2] 그것은 버전 1 유닉스에서 처음 등장했습니다.[3]
GNU coreutils에 번들된 cmp 버전은 Torbjorn Granlund와 David MacKenzie에 의해 작성되었습니다.[4]
cmp 명령은 역시 IBM i 운영 시스템에 이식되었습니다.[5]
Switches
cmp는 명령줄 스위치의 사용에 의해 한정될 수 있습니다. cmp의 주목할만한 구현에서 지원되는 스위치는 다음과 같습니다:
| 이름 | 설명 | 유닉스 | Plan 9 | Inferno | FreeBSD | 리눅스 | IBM i |
|---|---|---|---|---|---|---|---|
-b,
|
다른 바이트를 인쇄합니다. 제어 바이트를 '^' 뒤에 알파벳 문자로 표시하고 상위 비트가 'M-' ("메타"를 의미함)로 설정된 바이트 앞에 표시합니다.
|
No | No | No | No | Yes | No |
-h
|
심볼릭 링크를 따르지 마십시오. | No | No | No | Yes | No | No |
-i SKIP,
|
입력의 첫 번째 SKIP 바이트를 건너뜁니다. | No | No | No | No | Yes | No |
-i SKIP1:SKIP2,
|
FILE1의 첫 번째 SKIP1 바이트와 FILE2의 첫 번째 SKIP2 바이트를 건너뜁니다. | No | No | No | No | Yes | No |
-l,
|
기본 표준 출력 대신, 모든 다른 바이트의 (십진수) 바이트 수와 (팔진수) 값을 출력합니다. 역시, 한 파일이 다른 파일보다 짧으면 EOF 메시지를 출력합니다. | Yes | Yes | Yes | Yes | Yes | Yes |
-L
|
첫 번째 다른 바이트의 줄 번호를 인쇄합니다. | Yes | Yes | Yes | No | No | No |
-n LIMIT,
|
최대 LIMIT바이트까지 비교합니다. | No | No | No | No | Yes | No |
-s,
|
아무것도 출력하지 않습니다. 오직 종료 상태를 반환합니다. | Yes | Yes | Yes | Yes | Yes | Yes |
-t
|
파일이 텍스트 모드에서 열렸었고 바이트 단위로 비교하기 전에 작업의 CCSID로 변환되는 텍스트 모드입니다. | No | No | No | No | No | Yes |
-v,
|
버전 정보를 출력합니다. | No | No | No | No | Yes | No |
-x
|
-l과 비슷하지만 십육진수로 인쇄하고 파일에서 첫 번째 바이트에 대해 인덱스로 0을 사용합니다. | No | No | No | Yes | No | No |
-z
|
정규 파일에 대해 먼저 파일 크기를 비교하고, 그것들이 같지 않으면 비교에 실패합니다. | No | No | No | Yes | No | No |
--help
|
도움말 파일을 출력합니다. | No | No | No | No | Yes | No |
바이트 카운트인 피연산자는 통상적으로 십진수이지만, 팔진수에 대해 '0', 십육진수에 대해 '0x'가 앞에 올 수 있습니다.
바이트 카운트는 뒤에 해당 카운트의 배수를 지정하는 접미사가 올 수 있습니다; 이 경우에서 생략된 정수는 1로 이해됩니다. 빈 크기 문자, 또는 'iB'가 뒤에 오는 문자는 1024의 거듭제곱을 사용하여 배수를 지정합니다. 'B' 다음에 오는 크기 문자는 대신 1000의 거듭제곱을 지정합니다. 예를 들어, '-n 4M' 및 '-n 4MiB'는 '-n 4194304'와 동등하지만, '-n 4MB'은 '-n 4000000'에 해당합니다. 이 표기법은 십진 배수에 대해 SI 접두사[6] 및 이진 배수에 대해 IEC 60027-2 접두사와 상향 호환됩니다.[7]
Return values
- 0 – files are identical
- 1 – files differ
- 2 – inaccessible or missing argument
See also
References
- ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
- ^ – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
- ^ – FreeBSD General Commands Manual
- ^ "cmp(1): compare two files byte by byte - Linux man page". linux.die.net.
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
- ^ http://www.bipm.fr/enus/3_SI/si-prefixes.html
- ^ "Definitions of the SI units: The binary prefixes". physics.nist.gov. Retrieved 21 April 2018.
External links
- : compare two files – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
- Comparing and Merging Files: Invoking cmp The section of the manual of GNU cmp in the diffutils free manual.