관리 메뉴

드럼치는 프로그래머

[Linux] 파이프, 필터, 리다이렉션 본문

★─Programing/☆─Linux

[Linux] 파이프, 필터, 리다이렉션

드럼치는한동이 2007. 7. 30. 20:15
 리눅스의 기본 동작과 관련하여 아주 중요한 개념인 파이프와 필터 그리고 리다이렉션에 대해서 이해해 보도록 하자.

파이프(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 파일에 쓴다.
                  
Comments