더북(TheBook)

이 두 명령이 어떻게 다르게 동작하는지 잘 이해하는 것은 매우 중요하다.

첫 번째 명령에서는 wc 명령이 파일명 animals.txt를 인수로 받아 실행된다. 그리고 animals.txt 파일이 존재한다는 것을 확인하고 이 파일을 열어 파일의 내용을 읽어들인다.

두 번째 명령에서는 wc 명령이 인수 없이 실행된다. 따라서 표준 입력에서 (키보드로 입력된) 입력을 받는다. 또한, 셸은 원래라면 화면에 연결됐을 표준 출력을 animals.txt 파일로 연결한다. 그러나 이 과정은 wc에 알려지지 않으며, 따라서 wc는 animals.txt 파일의 존재도 알 수 없다.

입력과 출력을 하나의 명령 안에서 모두 리다이렉트할 수도 있다.

$ wc < animals.txt > count
$ cat count
  7  51  325

여기서 파이프를 동시에 사용하는 것도 물론 가능하다. 다음 명령을 보면, grep 명령은 표준 출력으로 들어온 animals.txt 파일의 내용을 처리하고 그 결과를 wc 명령에 넘겨 다시 그 결과를 count 파일에 출력한다.

$ grep Perl < animals.txt | wc > count
$ cat count
     1        6        47

이렇게 여러 명령을 결합한 명령은 8장에서 더 자세히 다룬다. 이 외에도 아주 많은 예제를 보게 될 것이다.

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