본문 바로가기
운영체제 (LNX,WIN)

파일 내용 비교 관련 명령어 (cmp, diff, sort, file, comm)

by 날으는물고기 2009. 5. 11.

파일 내용 비교 관련 명령어 (cmp, diff, sort, file, comm)

※ cmp 명령어 : 두 개의 파일을 비교하여 다른 점을 확인

  # cmp (option) (file1) (file2)

  ☞ option

    -l : 틀린 문자의 개수를 출력하고 각각의 틀린 문자에 대한 8 진수 값을 출력

    -s : 아무런 메시지를 보여주지 않고 종료 코드만을 넘겨줌

         종료 코드에서 0은 두 파일이 같음을, 1은 파일이 다를 때, 2는 파일에 접근할 수 없을 때를 의미

 

 ※ diff 명령어 : 두 파일사이의 내용을 비교 (cmp 명령어보다 직관적이며 정확하게 찾을수 있음)

  # diff (option) (file1) (file2)

  ☞ option

    --brief : 같은지 다른지 비교

    -c : 파일의 이름, 날짜 등 및 파일의 차이점을 상세히 출력

    -d : 자세한 비교

    -r : 재귀적인 비교

    -s : 파일 비교시 동일하면 결과 출력

    -H : 용량이 큰 파일 비교시 빠르게 비교

    -i : 대소문자 구분 없음


두개의 파일 비교할때는 diff -u file1 file2 를 이용하자.

-u 옵션을 추가하여 통합형식(-,+)를 이용하는 것이 두파일을 비교하는데 좀더 효과적인다.


bdiff ; 파일의 크기가 큰 파일을 비교할 때 유용하다.


 ※ sort 명령어 : 텍스트로 된 파일의 라인을 원하는 순서로 정렬하고자 할때 사용

  # sort (option) file_name

  ☞ option

    -n : 라인의 각 필드를 비교하는 대상을 숫자로 지정할 수 있음

    -d : 사전 순으로 정렬할 때 사용

    -M : 월(Month)을 나타내는 세 자리 영어 단어를 사용하여 정렬

    -f : 대소문자를 비교하지 않고 비교

    -k : 비교할 시작 필드를 지정

    -r : 내림차순으로 정렬

   -u : 중복된 행을 하나로 통합하여 정렬

   -o : 출력 결과를 저장할 파일을 지정

   -t : t 옵션 뒤에는 하나의 글자를 적을 수 있으며, 한 글자를 각각의 필드로 구별하게 됨



file ; 파일에 대한 정보를 보여주는 명령

     ex> file filename

comm ; 파일간의 공통점을 찾는 명령

     ex> comm [option] file1 file2

     option ; -1 : 파일1에만 라인출력을 억제한다.

             -2 : 파일2에만 라인출력을 억제한다.

             -3 : 파일1과 파일2 모두에 라인출력을 억제한다.

             -12 : 파일1과 파일2 두 파일에 공통된 라인만 출력한다.

             -23 : 파일1에는 존재하지만 파일2에는 없는 라인을 출력한다.

             -123 : 출력을 억제한다.



참고. 리눅스 기본 명령어
--------------------------------------------------------------------------------

1. ls ; 화일의 리스트를 출력

    option ; -a : 디렉토리 안의 숨겨진 파일까지 보여준다.

               -l : 파일의 대한 정보를 자세히 보여준다.

              -s : 파일의 크기를 보여준다.

              -F : 디렉토리인 경우 파일이름뒤에 '/'문자가 실행파일인 경우 '*'문자가, 그리고

                    링크파일인 경우 '@'문자가 뒤따른다.

              -R : 서브 디렉토리 내의 파일들도 보여준다.

2. find ; 화일이나 디렉토리를 찾는 명령

    ex> find / -name 'filename' -type (선택사항) -print

    type 유형 ( b:블럭 입출력 특수화일  c:문자입출력 특수화일  d:디렉토리 )

                 ( f:화일  p:단순화일  l:링크화일 )

        3. pwd , dirs ; 현재 디렉토리를 표시해주는 명령

        4. pushd ; 잠깐 다른 디렉토리에 다녀오는 명령

    ex> pushd /usr/util로 이동후 처음으로 돌아가려면 pushd

5. cd ; 디렉토리를 이동하는 명령

6. cat ; 파일의 내용을 보여주는 명령

         'cat > filename'을 이용하여 파일을 작성할 수 있고, ^D를 이용하여

          입력을 끝낸다.

7. mkdir ; 디렉토리를 만드는 명령

    option ; -p : 부모 디렉토리가 존재하지 않아도 새로운 디렉토리를 생성한다.

    ex> mkdir -p  dirname

8. rmdir ; 디렉토리를 지우는 명령

    option ; -f : 강제로 지움   -i : 지울지를 물어봄  -r : 서브 디렉토리도 모두 지움

9. alias ; 사용자약어로 만드는 명령

    ex> alias  dir  ls -al : dir을 치면 ls -al의 결과를 출력

          alias의 해제 : unalias dir

10. cp ; 파일을 복사하는 명령

    option ; -i : 복사할지를 물어봄  -p : 파일의 속성까지 복사

                -r, R : 서브 디렉토리도 모두 복사

11. mv ; 파일의 이름을 바꾸거나 옮기는 명령

    option ; -i : 이동할 것인지를 물어봄  -f : 무조건 이동

12. chmod ; 파일에 대한 권한을 부여하는 명령

    ex> chmod 777 filename

         777 ; user : r(4)w(2)x(1) group : r(4)w(2)x(1) others : r(4)w(2)x(1)

13. more ; 파일의 내용을 페이지단위로 나눠서 보는 명령

    ex> ls -al |more

14. head ; 파일의 처음 부분을 출력

    ex> head [-n] filename : 파일의 처음부터 n행을 출력 ( n생략시 기본값은 10 )

15. tail ; 파일의 마지막 부분을 출력

16. diff ; 두 파일의 내용을 비교하는 명령

    ex> diff filename1 filename2

17. bdiff ; 파일의 크기가 큰 파일을 비교할 때 유용하다.

18. df ; 하드 디스크의 사용상태를 알아보는 명령

     option ; -a : 모든 화일 시스템에 대한 정보출력    -k : 용량을 %로 보여줌

19. du ; 디렉토리의 디스크 사용량을 알아보는 명령

     option ; -s  : 전체사용량만 출력   -a : 디렉토리내의 각 화일의 디스크 사용량도 출력

20. lp, lpr ; 프린터로 인쇄하는 명령

21. lpstat, lpq ; 프린터의 작업상황을 보여주는 명령

22. cancel, lprm ; 프린터의 작업을 취소하는 명령

23. who ; 지금 UNIX 시스템을 사용하고 있는 사용자들을 화면에 출력하는 명령

24. who am i ; 자신만의 사용자 등록명과 로그인한 시간을 화면에 출력

25. cal ; 지정한 연도와 월을 화면에 출력하는 명령

     ex> cal 1997,    cal 11 1997

26. file ; 파일에 대한 정보를 보여주는 명령

     ex> file filename

27. comm ; 파일간의 공통점을 찾는 명령

     ex> comm [option] file1 file2

     option ; -1 : 파일1에만 라인출력을 억제한다.

             -2 : 파일2에만 라인출력을 억제한다.

             -3 : 파일1과 파일2 모두에 라인출력을 억제한다.

             -12 : 파일1과 파일2 두 파일에 공통된 라인만 출력한다.

             -23 : 파일1에는 존재하지만 파일2에는 없는 라인을 출력한다.

             -123 : 출력을 억제한다.

28. tar ; 디스크에 존재하는 파일들을 테이프에 저장하거나 복원시키는 명령

     ex> tar [option] filename

     option ;  -c : 지정된 파일등에 대해 새로운 타르화일을 생성

                  -r : 지정된 파일들을 기존의 타르화일의 끝에 추가

                  -t : 타르화일이 저장하고 있는 파일의 리스트를 출력

                  -x : 지정된 파일들을 타르화일로부터 끄집어냄

                  -f : 다음의 매개변수를 타르화일이름으로 지정

                  -v : tar의 작업진행 상황을 보여준다.

29. banner ; 큰 문자로 화면에 표준출력

     ex> banner  문자열

30. chown ; 파일의 소유자를 바꾸는 명령

     ex> chown  '소유자'  filename

31. chgrp ; 파일의 그룹을 바꾸는 명령

     ex> chgrp  '그룹'  filename

32. wall (write all) ; 모든 사용자에게 메시지를 보낸다.

     ex> wall < messagefile

33. write ; 사용자간의 통신을 할 수 있는 명령어

     ex> write '사용자 userid'

34. date ; 시스템 날짜와 시간을 보여준다.

35. clear ; 화면을 clear한다.

36. sleep ; 지정된 시간(초)만큼 작업을 지연시키는 명령

     ex> ls -al ; sleep 3

37. stty ; 자신의 터미널에 관련된 통신인수를 검사하거나 변경하는데 사용되는 명령

     ex> stty -a(all)

38. ps (process state) ; 현재 유효한 프로세스들의 상태를 알아보는 명령

     option ;  -f : 각 프로세스에 대해 더 많은 정보를 얻을 수 있다.     -u user

                 -a(all)   -e(every) : 시스템 내의 모든 프로세스에 대한 정보를 얻을 수 있다.

39. kill ; 프로세스를 죽이는 명령

     ex> kill -9 18287(PID number)

40. split ; 큰 파일을 일정한 크기로 여러개의 작은 파일로 분할하는 명령

     ex> split [option] filename  →  option 의 default값은 1000

     split -100 report ( report 화일을 100라인씩 분할하여 새로운 이름의 xaa, xab.. 으로 생성 )

41. sort ; 사용자가 지정한 특정화일내의 내용을 알파벳이나 숫자 순으로 표준출력 또는

          지정한 파일로 출력하거나 정렬된 파일의 내용을 합병시키는 명령

     ex> sort [option] filename

     option ;  -c : 파일이 정해진 순서대로 정렬되었는가를 확인하기 위해 정렬 안된

                        상태의 최초 라인을 출력

                  -d : 사전적 순서로 정렬. 이는 숫자, 문자, blank만을 비교

                  -f : 대문자와 소문자를 구별하지 않고 정렬

                  -m : 이미 정렬된 파일을 합병(Merge)시킨다.

              -r : 역순으로 정렬

              -u : 2개 이상의 라인이 중복될 때 1라인만 출력한다.

42. dircmp ; 두 개의 디렉토리를 비교하여 그 차이점에 관한 정보를 출력하는 명령

     ex> dircmp dirname1 dirname2

43. paste ; 사용자가 지정한 2개이상의 파일 중에서 같은 라인을 합병하는 명령

     ex> paste file1 file2 ....

44. pack ; 파일의 압축명령

     ex> pack [option] filename → 이와같이 압축하게 되면 .z라는 확장자가 붙는다.

     option ;  -f : 지정한 파일명을 강제로 압축한다.

45. pcat ; pack으로 압축된 파일의 내용을 보여준다.

     ex> pcat filename.z

46. unpack ; pack으로 압축된 파일을 복원시키는 명령어

     ex> unpack filename.z

47. touch ; 사용자가 지정한 파일의 최종 접근시간 또는 수정시간을 변경하는 명령

     ex> touch [option] filename

     option ;  -a : 파일 접근시간을 수정

                 -m : 파일 수정시간만을 변경

                 -c : 지정한 파일이 시스템 내에 없으면 시스템은 파일을 만들지 않는다.

48. man ; 명령어의 매뉴얼을 출력하는 명령

     ex> man '명령어'

49. su (superuser) ; 로그아웃하지 않고 임시로 등록명 사이를 이동할 수 있는 명령

50. passwd ; 자신의 패스워드를 변경하는 명령

728x90

댓글