--- title: cmp — 바이트 단위 비교 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 두 파일을 바이트 단위로 비교해 첫 차이를 알려 주는 명령어. tags: 프로그램, 리눅스 기본 명령어, cmp --- 두 파일을 바이트 단위로 비교해 첫 차이를 알려 주는 명령어. ## 기본 정보 | 명령어 이름 | cmp | | --- | --- | | 한 줄 소개 | 두 파일을 바이트 단위로 비교해 첫 차이를 알려 주는 명령어. | | 제공 | GNU diffutils | | 공식 문서 | https://man7.org/linux/man-pages/man1/cmp.1.html | | 지원 운영체제 | Linux, macOS, BSD, WSL | | 설치 여부 | 기본 탑재 | | 분류 | 리눅스 기본 명령어 (태그: 리눅스 기본 명령어 (태그: cmp, 비교, 바이트, diff)) | ## 이 명령어는 무엇인가? cmp는 두 파일을 앞에서부터 바이트 단위로 비교하고, 처음 다른 위치와 내용을 보고합니다. 텍스트 차이를 줄 단위로 보여 주는 diff와 목적이 다릅니다. -s 옵션은 출력 없이 종료 코드만 반환하므로 스크립트에서 동일 여부를 판정할 때 적합합니다. 바이너리 파일이나 압축 파일이 같은지 확인할 때 특히 유용합니다. ## 어떤 문제를 해결하는가? - 복사한 파일이 원본과 동일한지 확인할 때 - 압축 파일이나 바이너리를 비교할 때 - 스크립트에서 파일 동일 여부를 판정할 때 - diff가 줄 단위라 판별이 어려울 때 ## 주요 기능 ### 첫 차이 보고 처음 다른 바이트 위치와 값을 알려 줍니다. - **활용 상황**: 파일이 어디서 달라지는지 찾을 때 - **얻는 결과**: 바이트 단위로 정확히 지목합니다. - **제한 사항**: 여러 차이를 한 번에 보여 주지는 않습니다. ### 조용한 비교 -s로 출력 없이 종료 코드만 받습니다. - **활용 상황**: 스크립트에서 동일 여부만 필요할 때 - **얻는 결과**: 분기 처리가 단순해집니다. - **제한 사항**: 차이 내용은 알 수 없습니다. ### 길이 비교 길이가 다르면 그 사실도 함께 보고합니다. - **활용 상황**: 잘린 파일을 찾아낼 때 - **얻는 결과**: 전송 사고를 빠르게 발견합니다. - **제한 사항**: 내용이 같은데 길이만 다른 경우는 드뭅니다. ## 설치 및 실행 ### 설치 여부 확인 ``` cmp --version ``` sudo apt install diffutils # Debian/Ubuntu sudo dnf install diffutils # Fedora ## 실제 사용 예제 ### 바이트 비교 두 파일의 첫 차이를 확인합니다. ``` cmp a.bin b.bin ``` ### 조용한 비교 동일 여부만 종료 코드로 받습니다. ``` cmp -s a.bin b.bin && echo SAME || echo DIFF ``` ### 압축 파일 비교 압축 결과가 같은지 확인합니다. ``` cmp -s out1.tar.gz out2.tar.gz; echo $? ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/basics/cmp.html