
디렉터리를 바이너리 파일과 비교하고 싶습니다. 사실, 나는 파일 간의 실제 차이점이 무엇인지에 관심이 없지만 차이점이 있는지(그리고 어떤 파일이 다른지) 알고 싶습니다. 이전에는 를 사용했지만 meld
바이너리 파일을 비교할 수 없습니다.
어떤 파일 비교 도구가 이를 수행할 수 있습니까?
메모:그래픽 도구인지 아니면 명령줄만 있는 도구인지는 중요하지 않습니다.
답변1
이것은 쉽게 할 수 있습니다 diff
. 예를 들어:
$ ls -l foo/
total 2132
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:13 bash
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:13 bash2
-rwxr-xr-x 1 terdon terdon 118280 Nov 18 13:13 ls
$ ls -l bar/
total 1124
-rwxr-xr-x 1 terdon terdon 1029624 Nov 18 13:14 bash
-rwxr-xr-x 1 terdon terdon 118280 Nov 18 13:14 ls
$ diff bar/ foo/
Only in foo/: bash2
위의 예에서 foo/
및 bar/
디렉토리에는 바이너리 파일이 포함되어 bash2
있으며 foo/
.
따라서 다음과 같이 간단한 것을 실행할 수 있습니다.
$ diff bar/ foo/ && echo "The directories' contents are identical"
그러면 다른 파일이 있으면 표시되고, 파일이 있으면 "디렉토리의 내용이 동일합니다"라고 인쇄됩니다. 하위 디렉터리와 여기에 포함될 수 있는 파일을 비교하려면 diff -r
. -q
텍스트 파일의 출력을 억제하려면 와 결합하십시오 .
답변2
cmp
명령을 사용하여 두 파일을 비교할 수 있습니다
용법:
cmp file1 file2
숫자 바이트 차이와 줄 번호를 제공합니다.
답변3
하나 또는 다른 폴더 또는 하위 폴더에서만 동일하고 다른 것을 보여주는 전체 비교:
diff -rqs bar/ foo/
(각 파일에 대해 일부 출력을 얻을 수 있으므로 '동일한 디렉터리'는 필요하지 않습니다.)