[강좌][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자리 파일명으
로 된다.