디렉토리를 바이너리 파일과 비교하는 방법

디렉토리를 바이너리 파일과 비교하는 방법

디렉터리를 바이너리 파일과 비교하고 싶습니다. 사실, 나는 파일 간의 실제 차이점이 무엇인지에 관심이 없지만 차이점이 있는지(그리고 어떤 파일이 다른지) 알고 싶습니다. 이전에는 를 사용했지만 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/

(각 파일에 대해 일부 출력을 얻을 수 있으므로 '동일한 디렉터리'는 필요하지 않습니다.)

관련 정보