diff -s 시도
짧은 대답 : 스위치로 실행 diff
하십시오 -s
.
긴 대답 : 아래를 읽으십시오.
다음은 예입니다. 임의의 이진 내용으로 두 개의 파일을 만들어 봅시다 :
$ dd if=/dev/random bs=1k count=1 of=test1.bin
1+0 records in
1+0 records out
1024 bytes (1,0 kB, 1,0 KiB) copied, 0,0100332 s, 102 kB/s
$ dd if=/dev/random bs=1k count=1 of=test2.bin
1+0 records in
1+0 records out
1024 bytes (1,0 kB, 1,0 KiB) copied, 0,0102889 s, 99,5 kB/s
이제 첫 번째 파일의 복사본을 만들어 봅시다 :
$ cp test1.bin copyoftest1.bin
이제 test1.bin과 test2.bin은 달라야합니다.
$ diff test1.bin test2.bin
Binary files test1.bin and test2.bin differ
... 및 test1.bin과 copyoftest1.bin은 동일해야합니다.
$ diff test1.bin copyoftest1.bin
하지만 기다려! 출력이없는 이유는 무엇입니까?!?
대답은 : 의도적으로 설계된 것입니다. 동일한 파일에는 출력이 없습니다.
그러나 다른 오류 코드가 있습니다.
$ diff test1.bin test2.bin
Binary files test1.bin and test2.bin differ
$ echo $?
1
$ diff test1.bin copyoftest1.bin
$ echo $?
0
운 좋게도 -s
(또는 --report-identical-files
) 스위치 를 사용하여 diff를 더 장황하게 만들 수 있기 때문에 매번 오류 코드를 확인할 필요가 없습니다 .
$ diff -s test1.bin copyoftest1.bin
Files test1.bin and copyoftest1.bin are identical