| HOME / 정보공유 / AIX 명령어 모음

cmp
cmp cmp 명령 목적 두 파일을 비교합니다. 구문
cmp [ -l | -s ] File1 File2
설명
cmp 명령은 File1 및 File2 매개변수로 지정된 파일을 비교한 후 표준 출력에 결과를 기록합니다. File1 또는 File2 매개변수에 대해 -(마이너스 기호)를 지정한 경우 cmp 명령은 그 파일에 대한 표준 입력을 읽습니다. 표준 출력에서 한 개의 파일만 읽을 수 있습니다. 디폴트 조건 아래에서 파일이 같을 경우 cmp 명령은 아무것도 표시하지 않습니다. 파일이 다를 경우, cmp 명령은 차이가 발생하는 첫번째 바이트와 행 번호를 표시합니다. -l 플래그가 지정되고 한 파일이 다른 파일의 후속 파일인 경우(즉, cmp 명령이 어떤 차이를 발견하기 전에 한 파일에서 EOF 문자를 읽는 경우), cmp 명령은 이것을 기록합니다. 일반적으로, cmp 명령을 사용하여 비 텍스트 파일을 비교하고 diff 명령을 사용하여 텍스트 파일을 비교하십시오.
플래그
-l 소문자 L이 각각 차이가 나는 위치의 바이트 번호를 십진수로 표시하고 서로 다른 바이트 값을 8진수로 표시합니다.
-s 종료값만을 리턴합니다. 값 0은 동일한 파일을 나타내고, 값 1은 서로 다른 파일들을 나타내며, 값 2는 액세스 불가능한 파일 또는 옵션 누락을 나타냅니다.
종료 상태
이 명령은 다음과 같은 종료값으로 복귀합니다.
0 파일들이 동일합니다.
1 파일들이 서로 다릅니다. 이 값은 한 파일이 다른 파일의 후속 파일인 경우(한 파일이 다른 파일의 최초 부분과 동일)에만 주어집니다.
>1 오류가 발생하였습니다.
예제
두 파일이 동일한지 여부를 판별하려면, 다음과 같이 입력하십시오.
cmp prog.o.bak prog.o
이 명령은 prog.o.bak와 prog.o를 비교합니다. 파일이 동일할 경우 메세지는 표시되지 않습니다. 파일들이 서로 다른 경우, 첫번째 차이의 위치가 표시됩니다. 예를 들면:
prog.o.bak prog.o differ: char 4, line 1
메세지 cmp: EOF on prog.o.bak이 표시되는 경우, prog.o의 첫번째 부분이 prog.o.bak과 동일하지만, prog.o에 추가 데이터가 있습니다.
다른 각 바이트 쌍을 표시하려면 다음과 같이 입력하십시오.
cmp -l prog.o.bak prog.o
이 명령은 파일들을 비교한 후, 각 차이에 대한 바이트 번호(십진수) 및 서로 다른 바이트(8진수)를 표시합니다. 예를 들면, 다섯 번째 바이트가 prog.o.bak에서 8진 101이고 prog.o에서 141인 경우 cmp 명령은 다음을 표시합니다.
5 101 141
어떤 메세지도 기록하지 않으면서 두 파일을 비교하려면 다음과 같이 입력하십시오.
cmp -s prog.c.bak prog.c
이 명령은 두 파일이 동일할 경우 0의 종료값을 제공하고, 두 파일이 다를 경우 1의 값 또는 오류가 발생할 경우 2의 값을 제공합니다. 명령의 이 양식은 일반적으로 쉘 프로시저에서 사용됩니다. 예를 들면 다음과 같습니다.
if cmp -s prog.c.bak prog.c
then
echo No change
fi
두 파일이 동일할 경우 이 같은 부분적인 쉘 프로시저는 No change를 표시합니다.
파일
/usr/bin/cmp cmp 명령이 있습니다.
관련 정보
comm 명령, diff 명령, ksh 명령.