본문으로 바로가기

관리자가 알아두면 유용한 명령어

category Linux/Linux 기초 2017. 8. 22. 21:50
  • cmp / diff CMD

서로 다른 파일을 비교하여 다른 내용을 출력해 주는 명령어이다. cmp(compare), diff(different)


[명령어 형식]

# cmp file1 file2

# diff file1 file2 

# diff -c file1 file2 

# diff -i file1 file2 

# diff --recursive dir1 dir2

[옵션]

-i    대소문자 구분하지 않음

--recursive     두 디렉토리를 비교할때, 모든 서브디렉토리는 재귀적으로 비교한다.


** 원본과 백업본의 비교할때 자주사용된다.

# diff server.xml server.xml.old


- 실습 -

# cp /etc/httpd/conf/httpd.conf /test    /* 적당한 파일 하나 복사 */

# cp -p httpd.conf httpd.conf.old        /* 백업본은 -p 옵션으로 복사 */

# vi httpd.conf                                /* 수정 */

# diff httpd.conf httpd.conf.old            /* 비교 */


** 디렉토리 마이그레이션 작업시 사용

/was1/* -----Migration ------> /was2/*


# find /was1 | wc -l

# find /was2 | wc -l


# diff --recursive /was1 /was2


위의 find 명령어로 모든 파일이 잘 Migration 됬는지 파일의 개수만으로 간단하게 파악할 수 있으나 확실하진 않음

반대로 diff 명령어는 파일이 많을 경우 속도는 느리지만 확실한 확인 가능

  • sort CMD

파일의 정렬. 하나 또는 그 이상의 파일의 텍스트 줄을 스크린 상에서 정렬 하고자 할 때 사용한다. 즉 출력 내용을 정렬하여 표현하고자 할 때 사용한다. sort 명령어는 아무런 옵션 없이 사용되면 숫자나 알파벳 순으로 정렬하여 준다. 기본 적으로 sort 명령어는 공백 문자(white space: space, Tab)를 필드 구분자로 인식한다.

 

[명령어 형식]

# sort /etc/passwd         기본 오름차순

# sort -r /etc/passwd

# sort -k 3 filename

# sort -t : -k 3 n /etc/passwd 


[명령어 옵션]

-r    내림차순으로 정렬

-k    정렬할 필드를 지정한다.

-t    필드 구분자를 결정한다. 기본값은 공백

-n    숫자를 정렬한다.  기본은 캐릭터     ex) 11 과 2 비교시 캐릭터 형은 11의 1과 2를 비교 11 < 2  숫자를 기준으로는 11 > 2


[명령어 활용]

# CMD | sort -k 3

# CMD | sort -k 3 -r


- 실습 -

용량이 가득 찼을때

# df -k                        /* 용량 확인 */

# du -sk /var                /* -s : sum  -k : Kbytes    /var의 용량 더해서 kbytes 로 출력 */

# cd /var ; du -sk * | sort -nr | more    /*   /var 하위의 모든 디렉토리의 용량을 더해서 숫자기준으로 내림차순으로 정렬 */


  • file CMD

file 명령어는 파일의 종류(File Type)을 알 수 있는 명령어이다. 많이 사용되는 명령어는 아니지만 특별한 경우에 사용 될 수 있다. 예를 들어 인터넷 상에서 다운로드 받은 파일이 정확히 어떤 종류인지를 확인할 때 사용한다.


Unix와 Linux에서는 확장자(Extention)는 특별한 의미를 가지고 있지 않다. 그렇기에 파일의 이름에 확장자를 붙히지 않는다면 구별하기 어렵다. 

이때 file 명령어를 사용해 파일의 형식을 알아낸 후 적절히 처리한다.


[명령어 형식]

# file /etc/passwd


# file /etc/passwd /* ASCII파일 (# cat /etc/passwd) */

/etc/passwd: ASCII text

 

# file /bin/ls /* Binary 파일 (# strings /bin/ls) */

/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically

linked (uses shared libs), for GNU/Linux 2.6.9, stripped

 

# file /var/run/utmp /* Date 파일 */

/var/run/utmp:data

 

# file /etc/rc.d/init.d/sendmail /* Script 파일 */

/etc/rc.d/init.d/sendmail: Bourne-Again shell script text executable

 

# file /etc/hosts /etc /* 여러개의 파일 지정 */

/etc/hosts: ascii text

/etc: directory /* Directory 파일 */

 

     

'Linux > Linux 기초' 카테고리의 다른 글

압축과 아카이브  (0) 2017.08.22
검색 관련 명령어  (0) 2017.08.22
사용자 통신할 때 사용하는 명령어  (0) 2017.08.22
파일 속성 관리 명령어  (0) 2017.08.21
VMware-Tools 설치 방법  (1) 2017.08.20