[강좌][shell] 쉘에서 자주 사용되는 명령어 -1

======================================================================

    SHELL PROGRAMMING [12]  쉘에서 자주 사용되는 명령어 -1

본 강좌는 본인의 허락없이 무단 복사하거나 타 사이트에 등록하는것을

금지 합니다.  –  서진우(alang at sysmng.com)

======================================================================

12. 쉘프로그래밍에서 자주 사용되는 유용한 리눅스 명령어

12.1 echo

echo [-n] “문자열”

echo 는 “”를 사용하여 “” 안의 문자열을 그대로 출력하는 기능도 있지만

“” 를 사용하지 않을때는 TAB,개행문자,여러개의 space 를 하나의 space

로 바꾸는 기능이 있고 -n 옵션을 사용하면 echo 출력결과의 마지막에 추

가되는 개행을 하지 않는다.

12.2 read

read [변수명]

keyword 를 통해 읽어들인 값을 변수에 저장시킨다.

12.3 sort

sort 는 파일의 내용을 정렬하는 기능이 있다.

options :

    -b  :space 를 무시한다.

    -u  :중복된 값이 없도록 한다.

    -r  :역순으로 정렬한다.

    -tX :field 구분 문자를 설정한다. X자리에 구분문자가 들어감.

    -n  :숫자의 크기 순으로 정렬한다.

    +number :sort 할 field번호를 정한다.

12.4 grep

grep [options] “pattern” file_name

file 내용중에 pattern 이 들어 있는 행을 찾아서 그행을 출력한다.

options :

    -i  :대소문자 구별하지 않는다.

    -v  :pattern을 포함하지 않는 행만 출력한다.

    -n  :행 번호를 출력한다.

    -l  :파일명을 출력한다.

예 ) grep -v “^[ ^I]*$” 파일명 : 공백행을 제외한 이외의 행출력

     grep -v “^[ ^I]*#” 파일명 : 주석(행맨앞에 # 표시가 있는) 제거.

12.5 diff

diff file1 file2

file1 과 file2 를 비교해서 같지 않은 행을 출력한다.

    options :

        -b  : space 는 무시하고 비교한다.

        -e  : file1 을 file2 로 바꾸기 위한 ed script를 만든다.

12.6 cut

file 이나, standard input 으로 들어온 내용을 행 단위로 읽어 들여 열이나

field 에 의해 잘라 standard putput 으로 풀력한다.

    options :

        -cN1,N2-N3,N4

            : column 에 의해서 행을 자를 때 사용한다. ‘,’을 통해 여러개

              의 column을 선택할 수 있고 ‘-‘을 통해서 column의 범위를 설

              정할수 있다.

        -fN : field 에 의해 행을 자른다. N은 N번째 field 를 의미한다.

        -dX : field 구분 문자를 표시한다. X 가 구분문자에 속한다.

12.7 paste

paste [otions] file1 file2 > outfile

파일들의 행을 합쳐서 하나의 행으로 만들어 출력한다.

    otions :

        -d : file들의 행을 합칠때 분리문자를 설정한다.

예)

$ cat file1

——————————————————

drwxrwxr-x

drwxr-xr-x

drwxrwxr-x

drwxr-xr-x

drwxrwxr-x

$ cat file2

——————————————————

alangscript

hostingproject

perl

studyroom

temp

$ paste file1 file2

——————————————————

drwxrwxr-x      alangscript

drwxr-xr-x      hostingproject

drwxrwxr-x      perl

drwxr-xr-x      studyroom

drwxrwxr-x      temp

$ paste -d : file1 file2

——————————————————

drwxrwxr-x:alangscript

drwxr-xr-x:hostingproject

drwxrwxr-x:perl

drwxr-xr-x:studyroom

drwxrwxr-x:temp

위와 같이 각 file 들의 같은 행을 하나의 행으로 하여 출력을 한다.

-d 옵션을 이용하면 구분문자를 줄수도 있다.  

12.8 uniq

uniq [options] inputfile outputfile

inputfile 의 내용중 중복되는 행을 제거한뒤 outputfile 에 저장한다.

    options :

        -u  : 중복되지 않은행만 출력

        -d  : 중복되는 행만 출력

주의 : uniq 명령은 인접한 행만 비교 하기 때문에 uniq 명령을 사용하

       여 중복된 행을 제거하기 전에 sort 를 이용하여 그 내용을 정렬

       하여야 한다.

12.9 split

split -number filenam

파일을 원하는 행수 만큼씩 나눌때 사용한다. number 는 나눌길 원하는

행수 이다. split 로 파일을 나누고 나면 x 로 시작하는 3자리 파일명으

로  된다.

$ paste -d : file1 file2

——————————————————

drwxrwxr-x:alangscript

drwxr-xr-x:hostingproject

drwxrwxr-x:perl

drwxr-xr-x:studyroom

drwxrwxr-x:temp

위와 같이 각 file 들의 같은 행을 하나의 행으로 하여 출력을 한다.

-d 옵션을 이용하면 구분문자를 줄수도 있다.  

12.8 uniq

uniq [options] inputfile outputfile

inputfile 의 내용중 중복되는 행을 제거한뒤 outputfile 에 저장한다.

    options :

        -u  : 중복되지 않은행만 출력

        -d  : 중복되는 행만 출력

주의 : uniq 명령은 인접한 행만 비교 하기 때문에 uniq 명령을 사용하

       여 중복된 행을 제거하기 전에 sort 를 이용하여 그 내용을 정렬

       하여야 한다.

12.9 split

split -number filenam

파일을 원하는 행수 만큼씩 나눌때 사용한다. number 는 나눌길 원하는

행수 이다. split 로 파일을 나누고 나면 x 로 시작하는 3자리 파일명으

로  된다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.