linux 명령어 cmp

파일 비교하는 명령어.

$ cmp
Linux 명령어 cmp

Linux 명령어 cmp

두 파일을 비교하여 차이점을 출력하는 명령어

1. 자세한 설명

cmp 명령어는 Linux에서 두 파일을 비교하는 데 사용됩니다. 파일의 내용이나 데이터를 바이트 단위로 비교하며, 차이가 있는 첫 번째 위치를 출력합니다. 주로 바이너리 파일이나 텍스트 파일의 일치 여부를 확인하거나 차이점을 찾기 위해 활용됩니다.

2. 사용법

  1. 두 파일 비교
    cmp [파일1] [파일2]
    두 파일의 내용 차이를 바이트 단위로 비교합니다.
  2. 차이점만 표시
    cmp -s [파일1] [파일2]
    차이가 있는 경우 아무것도 출력하지 않고 상태 코드만 반환합니다.
  3. 출력 형식 변경
    cmp -l [파일1] [파일2]
    차이가 있는 위치와 관련 데이터를 상세히 출력합니다.

3. 자세하게 설명

cmp 명령어는 주로 파일의 데이터 비교에 사용되며 다음 옵션을 지원합니다:

  • -s: 차이가 있을 경우 아무것도 출력하지 않으며, 상태 코드로 결과를 반환합니다.
  • -l: 각 차이의 바이트 위치와 바이트 값을 자세히 출력합니다.
  • -i [바이트]: 비교를 시작할 바이트 위치를 지정합니다.
  • -n [바이트]: 비교할 바이트 수를 제한합니다.

4. 자세한 명령어 사용법

다음은 cmp 명령어의 다양한 사용 예제입니다:

# 기본적으로 두 파일 비교
$ cmp file1.txt file2.txt

# 두 파일이 동일한지 확인 (출력 없음)
$ cmp -s file1.txt file2.txt

# 차이점의 위치와 데이터를 출력
$ cmp -l file1.txt file2.txt

# 특정 위치에서 비교 시작
$ cmp -i 100 file1.txt file2.txt

# 비교할 바이트 수 제한
$ cmp -n 200 file1.txt file2.txt

# 바이너리 파일 비교
$ cmp binary1.bin binary2.bin

# 결과를 다른 명령어와 결합
$ cmp file1.txt file2.txt && echo "파일이 동일합니다."

# 상태 코드를 확인하여 파일 동일 여부 출력
$ cmp -s file1.txt file2.txt
$ if [ $? -eq 0 ]; then echo "일치함"; else echo "불일치"; fi

# 스크립트를 통해 파일 비교 자동화
#!/bin/bash
for file in *.txt; do
  cmp -s $file reference.txt && echo "$file is identical to reference.txt"
done

# 특정 파일만 차이점을 출력
$ cmp -l file1.txt file2.txt | grep "10"

# 특정 바이트를 기준으로 비교 수행
$ cmp -i 500 -n 1000 file1.bin file2.bin

# 두 디렉터리의 파일 이름 비교
$ cmp -s <(ls dir1) <(ls dir2)

# 결과를 JSON 형태로 변환
$ cmp -l file1.txt file2.txt | jq -R 'split(" ") | {byte_position: .[0], file1_value: .[1], file2_value: .[2]}'

# 로그 파일의 차이점만 추출
$ cmp -l log1.txt log2.txt > diff_log.txt

# 파일 이름 비교 후 상태 출력
$ cmp -s names1.txt names2.txt && echo "이름이 동일함"

# 특정 디렉터리의 모든 파일 비교 자동화
#!/bin/bash
for file in dir1/*.txt; do
  cmp -s $file dir2/${file##*/} || echo "$file differs."
done

# 바이너리 파일의 특정 범위 비교
$ cmp -i 100 -n 1000 file1.bin file2.bin

# 결과를 새로운 파일에 저장
$ cmp -l file1.txt file2.txt > differences.txt
            

위의 예제는 cmp 명령어를 사용하여 파일을 비교하고 차이를 출력하는 다양한 방법을 보여줍니다.

© 2025 Linux 명령어 설명

Categories:

No responses yet

답글 남기기