더북(TheBook)

ls 명령은 stdout으로 결과를 출력하고 less 명령은 stdin에서 입력을 받으므로, 두 명령을 조합해 사용할 수 있다. 파이프를 사용해 ls 명령의 출력을 less 명령의 입력으로 연결해보자.

$ ls -l /bin | less

조합된 명령을 실행하면 디렉터리의 파일 목록이 한 화면씩 나눠 출력된다. 두 명령 사이에 끼워진 세로 바(|) 기호가 리눅스의 파이프 기호1인데, 이 기호는 첫 번째 명령의 표준 출력을 두 번째 명령의 표준 입력으로 연결하라는 뜻이다. 이렇게 파이프가 사용된 명령을 파이프라인(pipeline)이라고 한다.

특별한 경우가 아닌 한, 각각의 명령은 자신들이 파이프로 연결된 사실을 알지 못한다. ls 명령은 less 명령의 입력으로 출력을 전달 중이지만 화면에 출력 중이라 생각하며, less 명령 역시 ls 명령의 출력을 입력으로 받고 있지만 자신이 키보드로부터 입력을 받고 있다고 생각한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.