리눅스의 기본 동작과 관련하여 아주 중요한 개념인 파이프와 필터 그리고 리다이렉션에 대해서 이해해 보도록 하자.
파이프(pipe) - 두 프로그램을 연결해주는 연결 통로의 의미
" | " 문자를 사용함 (\키를 Shift와 함께 누른 글자)
[사용 예]
# ls -l /etc | more
: 그냥 "ls -l /etc" 명령을 입력하면 파일이 너무 많아서, 페이지가 넘어가므로
한 개 페이지씩 보겠다는 의미
필터(filter) - 필요한 것만 걸러주는 명령어
grep, tail, wc, sort, awk, sed 등
주로 파이프와 같이 사용된다.
[사용 예]
# ps -ef | grep bash
: 그냥 "ps -ef"는 모든 프로세스 번호를 출력하므로, "bash"라는 글자가 들어
간 프로세스만 출력
# rpm -qa | grep bind
: 설치된 패키지 중에서 "bind"라는 글자가 들어간 패키지를 출력
그냥 "rpm -qa bind"를 할 경우에는 "bind-utils"는 출력되지 않음
리다이렉션(redirection) - 표준 입출력의 방향을 바꿔줌
표준 입력은 키보드, 표준 출력은 모니터이지만 이를 파일로 처리하고 싶을때 사용
[사용 예]
# ls -l > aa.lst
: "ls -l"의 결과를 화면에 출력하지 말고, aa.lst라는 파일에 쓰도록 한다. 단,
aa.lst 파일이 기존에 있으면 덮어쓴다. (overwrite)
# ls - l >> aa.lst
: 위와 동일, 단, aa.lst 파일이 기존에 있으면 기존의 내용에 이어서 씀(append)
# sort < aa.lst
: aa.lst 파일을 정렬해서 화면에 출력한다.
# sort < aa.lst > bb.lst
: aa.lst 파일을 정렬해서, bb.lst 파일에 쓴다.
출처 : 한동이블로그
파이프(pipe) - 두 프로그램을 연결해주는 연결 통로의 의미
" | " 문자를 사용함 (\키를 Shift와 함께 누른 글자)
[사용 예]
# ls -l /etc | more
: 그냥 "ls -l /etc" 명령을 입력하면 파일이 너무 많아서, 페이지가 넘어가므로
한 개 페이지씩 보겠다는 의미
필터(filter) - 필요한 것만 걸러주는 명령어
grep, tail, wc, sort, awk, sed 등
주로 파이프와 같이 사용된다.
[사용 예]
# ps -ef | grep bash
: 그냥 "ps -ef"는 모든 프로세스 번호를 출력하므로, "bash"라는 글자가 들어
간 프로세스만 출력
# rpm -qa | grep bind
: 설치된 패키지 중에서 "bind"라는 글자가 들어간 패키지를 출력
그냥 "rpm -qa bind"를 할 경우에는 "bind-utils"는 출력되지 않음
리다이렉션(redirection) - 표준 입출력의 방향을 바꿔줌
표준 입력은 키보드, 표준 출력은 모니터이지만 이를 파일로 처리하고 싶을때 사용
[사용 예]
# ls -l > aa.lst
: "ls -l"의 결과를 화면에 출력하지 말고, aa.lst라는 파일에 쓰도록 한다. 단,
aa.lst 파일이 기존에 있으면 덮어쓴다. (overwrite)
# ls - l >> aa.lst
: 위와 동일, 단, aa.lst 파일이 기존에 있으면 기존의 내용에 이어서 씀(append)
# sort < aa.lst
: aa.lst 파일을 정렬해서 화면에 출력한다.
# sort < aa.lst > bb.lst
: aa.lst 파일을 정렬해서, bb.lst 파일에 쓴다.
출처 : 한동이블로그
'셈틀 > Linux' 카테고리의 다른 글
[리눅스] 파일 내 문자열 검색 (3) | 2010.04.03 |
---|---|
[리눅스] tar 압축, 파일 묶기 사용법 (0) | 2009.09.29 |
[리눅스] 명령어 모음 (0) | 2009.03.29 |
VI 주석색깔 바꾸기 (2) | 2009.03.26 |
[리눅스] 자동실행파일 만들기 (0) | 2009.03.25 |