리눅스에서 파이프는 한 명령어의 표준 출력을 다른 명령어의 표준 입력으로 연결합니다.
이전에 설명했던 ls 명령을 생각해 보십시오. ls 명령어와 함께 사용할 수 있는 수많은 옵션들이 있었습니다, 그러나 그 디렉토리 내용이 너무 빨리 지나가버려서 그 내용을 읽을 수 없다면 어떻게 하시겠습니까?
다음 명령을 사용하여 /etc 디렉토리의 내용을 한번 보십시오:
ls -al /etc |
출력한 내용이 화면에서 지나가버리기 전에 어떻게 해야 자세한 내용을 볼 수 있을까요?
한가지 방법은 less라고 불리우는 유틸리티로 출력을 파이프하는 것입니다. 페이저 (pager)라고 알려져 있는 less 명령어는 정보를 한번에 한 페이지씩 (또는 한 화면씩) 보여줍니다.
수직 바 (|)를 사용하여 명령을 파이프합니다.
ls -al /etc | less |
이제 /etc의 내용을 한번에 한 화면씩 볼 수 있습니다.
화면 앞쪽으로 이동하기 위해서는,
less 유틸리티를 사용하여 텍스트 파일 내에서
키워드 검색을 하시려면,
/Linux |
![]() | 힌트 |
|---|---|
스타트업(startup) 메시지를 보다 자세히 읽으시려면, 쉘 프롬프트에서
dmesg | less 를 입력합니다. 한번에 한 페이지씩
파일을 읽을 수 있습니다. 화살표 키를 사용하여 파일을 읽으실 수 있습니다;
파일 내에서 특정 문자열을 찾으시려면, |
파이프는 또한 파일에서 특정 줄만 출력하는데 사용될 수 있습니다. 다음을 입력해 보십시오:
grep coffee sneakers.txt | lpr |
이 명령은 sneakers.txt 파일에서 "coffee"라는 단어가 들어있는 모든 라인을 출력할 것입니다. (grep 명령어에 대한 더 많은 정보는 13.11.3 절을 참조하시기 바랍니다).
more 와 less의
주된 차이점은 less 명령어는 화살표키를 사용하여 파일 앞뒤로 이동이 가능하지만,
more를 사용하면
/etc 디렉토리의 내용을 출력하기 위해 ls 명령 다음에 more을 사용합니다.
ls -al /etc | more |
more를 사용하여 텍스트 파일 내에서
키워드를 검색하시려면,
/foo |