[file] 이진 파일을 비교하여 동일한 지 확인하는 방법은 무엇입니까?

두 개의 이진 파일이 동일한 지 아닌지를 아는 가장 쉬운 방법은 무엇입니까 (우분투 리눅스에서 그래픽 도구 또는 명령 행 사용) (타임 스탬프 제외)? 실제로 차이를 추출 할 필요는 없습니다. 나는 그들이 같은지 아닌지를 알아야합니다.



답변

표준 유닉스 diff는 파일이 동일한 지 여부를 보여줍니다.

[me@host ~]$ diff 1.bin 2.bin
Binary files 1.bin and 2.bin differ

명령에서 출력이 없으면 파일에 차이가 없음을 의미합니다.


답변

cmp명령을 사용하십시오 . 이진이 같으면 깨끗하게 종료되거나 첫 번째 차이점이 발생한 위치를 인쇄하고 종료합니다.


답변

Visual Binary Diff 가 내가 찾던 것임을 알았 습니다.

  • 우분투 :

    sudo apt install vbindiff
    
  • 아치 리눅스 :

    sudo pacman -S vbindiff
    
  • MacPorts 를 통한 Mac OS X :

    port install vbindiff
    
  • Homebrew를 통한 Mac OS X :

    brew install vbindiff
    

답변

sha1을 사용하여 체크섬을 생성하십시오.

sha1 [FILENAME1]
sha1 [FILENAME2]


답변

바이너리 파일을 16 진수 표현으로 변환하기 위해 hexdump를 사용하여 meld / kompare / 다른 diff 도구로 열었습니다. 당신과 달리 나는 파일의 차이를 겪었습니다.

hexdump tmp/Circle_24.png > tmp/hex1.txt
hexdump /tmp/Circle_24.png > tmp/hex2.txt

meld tmp/hex1.txt tmp/hex2.txt


답변

MD5 해시 기능을 사용하여 두 파일이 동일한 지 확인할 수 있습니다.이 기능을 사용하면 낮은 수준의 차이점을 볼 수 없지만 두 파일을 비교하는 빠른 방법입니다.

md5 <filename1>
md5 <filename2>

두 MD5 해시 (명령 출력)가 동일하면 두 파일이 다릅니다.


답변

cmp 명령을 사용하십시오. 자세한 내용은 이진 파일 및 텍스트 비교 를 참조하십시오.

cmp -b file1 file2