강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

두개의 파일을 비교하는 cmp: 기본 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

두개의 파일을 비교하는 cmp: 기본 사용법

 

 

 

 

파일을 비교하는 방법에 대해서 알아보도록 하자. 파일을 비교하는 가장 간단한 방법은 cmp, 그리고 보다 자세한 파일비교를 할 때에는 diff를 이용하고, 세개의 파일을 비교하려면 diff3을 각각 이용한다.

 

 

 

 그리고 두파일에 대하여 각 행단위 비교를 할 때에는 comm을 이용한다.

 

 

 

 먼저 cmp부터 차례대로 알아보도록 하자.

 

cmp "compare"의 약어로서 두개의 파일이 어떤 부분이 다른가를 비교할 때에 사용하는 명령어이다.

 

 

 

  두개의 파일을 비교하여 단순히 같은가 다른가를 확인할 수도 있으며 또한 몇행의 몇번째 문자가 다른가를 확인할 수도 있다.

 

 

 

 두 파일이 동일한가를 확인하고자 할 때에 주로 사용한다.

 

 

 

 

 

이번 절에서 설명하는 예들은 모두 아래 두개의 파일을 비교하는 예이다.

 

 

 

 설명의 편의를 위하여 생성한 파일이며, file1파일이 file2와 다른 점은 LINUX Linux라는 대소문자의 차이점뿐이다.

 

 

 

 

 

[root@sulinux ~]# cat file1

I am a LINUX System Enginier.

[root@sulinux ~]#

[root@sulinux ~]# cat file2

I am a Linux System Enginier.

[root@sulinux ~]#

 

 

 

다음은 cmp를 이용하여 두 파일에 대하여 단순한 비교를 한 예이다.

 

 

 

 

 

첫번째 예는 두개의 파일 file1 file2를 단순 비교한 것이다.

 

 

 

 아무런 옵션없이 그냥 "cmp 파일1 파일2"라고하면 두개의 파일을 단순비교하여 그 결과를 보여준다.

 

 

 

 

 

[root@sulinux ~]# cmp file1 file2

file1 file2 differ: byte 9, line 1

[root@sulinux ~]#

 

 

 

 

위의 예는 file1 file2를 단순비교한 결과이다.

 

 

 

 결과를 보면 "file1 file2 differ: byte 9, line 1"이며  이것은 첫번째 행의 9번째 바이트에서 처음으로 다른 부분이 발생하였다는 것을 의미한다.

 

 

 

 확인해보면 9번째 문자는 각각 I(대문자) i(소문자)이며 처음으로 다른부분이 발생한 위치임을 알 수 있다.

 

 

 

 참고로 리눅스에서는 대소문자를 구분하므로 동일한 문자의 대문자와 소문자는 다른 문자로 취급한다.

 

 

 

 

 

만약 file2파일이 file1의 복사본으로서 완전 동일한 파일이라면 cmp의 결과 어떠한 결과도 출력되지 않는다.

 

 

 

 동일한 파일에서 차이점이 없다는 것을 의미하기 때문이다.

 

 

 

 다음 예를 보자.

 

[root@sulinux ~]# cp file1 file3

[root@sulinux ~]#

[root@sulinux ~]# cmp file1 file3

[root@sulinux ~]#

 

file3 file1의 복사본이다.

 

 

 

 따라서 그 내용과 크기가 완전히 동일할 것이다.

 

 

 

 따라서 cmp의 결과 아무런 출력 값도 없는 것이다.

 

 

 

 두 파일간의 차이점이 없다는 것을 의미한다.

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,059 명
  • 현재 강좌수 :  35,942 개
  • 현재 접속자 :  263 명