리눅스 명령어 · 3 min read · Sep 17, 2025

리눅스 cmp 명령어 초보자 튜토리얼 (7가지 예제)

cmp 명령어는 리눅스 운영 체제에서 두 파일을 바이트 단위로 비교하는 데 사용됩니다. 이 명령어는 두 파일 간의 차이를 간결하게 출력하여 사용자가 두 파일 간의 불일치를 쉽게 식별할 수 있도록 합니다. cmp 명령어는 어떤 오프셋에서 몇 개의 불일치 바이트가 발생했는지를 표시하고, 불일치의 요약 개수를 제공합니다. 이 유용한 도구를 사용하면 사용자는 두 파일이 동일한지 여부를 빠르게 확인할 수 있습니다.

이 튜토리얼에서는 이해하기 쉬운 예제를 통해 ‘cmp’에 대해 논의할 것입니다. 하지만 그 전에, 이 튜토리얼에 언급된 모든 예제와 지침은 Ubuntu 22.04에서 테스트되었다는 점을 언급할 가치가 있습니다.

cmp 명령어

‘cmp’ 명령어는 두 파일을 바이트 단위로 비교할 수 있게 해줍니다. 이 유틸리티는 명령줄 옵션의 형태로 여러 가지 기능을 제공합니다. 이 튜토리얼에서는 도구가 어떻게 작동하는지에 대한 좋은 아이디어를 제공할 몇 가지 주요 옵션에 대해 논의할 것입니다.

1. cmp를 사용하여 두 파일 비교하기

가장 간단한 형태로, 다음과 같이 ‘cmp’를 사용할 수 있습니다:

cmp [file1-name] [file2-name]

이미 언급했듯이, 이 도구는 두 파일을 바이트 단위로 비교합니다. 차이가 발견되면 도구는 중지하고 차이가 있는 줄과 바이트를 알려주는 출력을 생성합니다.

예를 들어:

cmp file1.txt file2.txt

리눅스에서 cmp 명령어로 두 파일 비교하기

위 스크린샷에서 볼 수 있듯이, 출력은 파일이 1행의 20번째 바이트에서 다르다고 명확하게 표시합니다.

2. cmp가 다른 바이트를 출력하도록 만들기

원한다면, ‘cmp’가 출력에서 다른 바이트를 표시하도록 만들 수 있습니다. 이는 -b 명령줄 옵션을 사용하여 수행할 수 있습니다.

cmp -b [file1] [file2]

예를 들어:

cmp -b file1.txt  file2.txt

cmp가 다른 바이트를 출력하도록 만드는 방법

이 경우, 위 스크린샷에서 볼 수 있듯이, 차이는 17번째 바이트에 있으며, file1.txt에서는 ‘l’, file2.txt에서는 ‘i’입니다. 값 154와 151은 각각 이 바이트의 값입니다.

3. cmp가 두 파일의 일부 초기 바이트를 건너뛰도록 만들기

원한다면, ‘cmp’가 두 파일에서 특정 수의 초기 바이트를 건너뛰고 비교하도록 만들 수 있습니다. 이는 -i 명령줄 옵션에 인수로 바이트 수를 지정하여 수행할 수 있습니다.

cmp -i [건너뛸 바이트 수] [file1] [file2]

예를 들어:

cmp -i 10 file1.txt  file2.txt

이런 경우(바이트를 건너뛰기 위해 -i를 사용하는 경우) 비교가 시작되는 바이트는 바이트 번호 0으로 처리됩니다.

계속해서, 이 도구는 두 파일에서 서로 다른 수의 바이트를 건너뛰도록 허용합니다. 이는 다음과 같이 수행할 수 있습니다:

cmp -i [첫 번째 파일에서 건너뛸 바이트 수] : [두 번째 파일에서 건너뛸 바이트 수] [file1] [file2]

예를 들어:

cmp -i 4:7 file1.txt file2.txt

두 파일의 일부 초기 바이트를 건너뛰도록 cmp 만들기

4. cmp가 모든 다른 바이트의 바이트 위치(및 값)를 표시하도록 만들기

‘cmp’ 명령어가 모든 다른 바이트의 바이트 위치와 바이트 값을 출력하도록 만들 수 있습니다. 이 기능은 -l 명령줄 옵션을 사용하여 접근할 수 있습니다.

cmp -l [file1] [file2]

예를 들어:

cmp -l file1.txt  file2.txt

모든 다른 바이트의 바이트 위치(및 값)를 표시하도록 cmp 만들기

출력의 첫 번째 열(위 예제에서 보여짐)은 다른 바이트의 위치(바이트 번호)를 나타냅니다. 두 번째 열은 첫 번째 파일에서의 다른 바이트의 바이트 값을 나타내며, 세 번째 열은 두 번째 파일에서의 다른 바이트의 바이트 값을 나타냅니다.

5. 비교할 바이트 수 제한하기

이 도구는 비교할 바이트 수를 제한할 수 있습니다. 예를 들어, 최대 25 또는 50 바이트를 비교하고 싶을 수 있습니다. 이는 -n 명령줄 옵션을 사용하여 수행할 수 있습니다.

cmp -n [비교할 바이트 수]  [file1] [file2]

예를 들어:

cmp -n 25  file1.txt  file2.txt

6. cmp 명령어 사용 시 진행률 미터 표시하기

‘cmp’를 사용하여 큰 파일(또는 파티션)을 비교하는 동안 진행 중인 비교의 진행 상황을 보고 싶을 수 있습니다. 이는 ‘pv’ 명령어와 함께 ‘cmp’ 명령어를 사용하여 수행할 수 있습니다. 다음은 사용할 수 있는 명령 템플릿입니다:

$ pv [file1] | cmp -l [file2] > [output-file]

예를 들어:

$ pv file1.txt | cmp -l file3.txt > output.txt

‘output.txt’ 파일에는 ‘cmp’ 명령어가 생성하는 모든 출력이 포함됩니다. 진행률 미터(위 스크린샷에서 볼 수 있는)는 ‘pv’ 명령어에 의해 생성됩니다.

‘pv’ 명령어는 일반적으로 리눅스에 사전 설치되어 있지 않습니다(최소한 Ubuntu에서는 그렇지 않습니다). 하지만 다음 명령어를 사용하여 쉽게 설치할 수 있습니다:

sudo apt-get install pv

7. ‘cmp’가 출력을 억제하도록 만들기

이 도구는 일반적으로 생성하는 출력을 억제할 수 있습니다. 이는 -s 명령줄 옵션을 사용하여 수행할 수 있습니다.

$ cmp -s [file1] [file2]

예를 들어:

$ cmp -s file1.txt file2.txt

이 옵션은 스크립트에서 ‘cmp’ 유틸리티를 사용할 때 유용할 수 있습니다. 예를 들어, 파일이 동일한지 여부(명령의 종료 코드를 통해 알 수 있음)에 따라 도구가 일반적으로 생성하는 출력 대신 사용자 정의 메시지를 표시하고 싶을 수 있습니다.

결론

이 기사에서는 ‘cmp’ 명령어의 대부분의 옵션에 대해 논의했으므로, 이를 연습하여 일상 업무에서 도구를 사용하기 시작해야 합니다. 의문이나 질문이 있는 경우 ‘cmp’ 매뉴얼 페이지를 참조하십시오.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.