디렉토리를 바이너리와 비교하는 방법

디렉토리를 바이너리와 비교하는 방법

디렉토리를 바이너리 파일과 비교하고 싶습니다. 사실 저는 파일 간의 실제 차이점에 관심이 있는 것이 아니라 차이점이 있는지(그리고 어떤 파일이 다른지)에 관심이 있습니다. 이전에 이것을 사용한 적이 있지만 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/

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

관련 정보