IO Redirection
출처 : http://slideplayer.com/slide/5126304
- 위 그림을 보면 linux process의 input과 output 구조를 잘 이해할 수 있다.
- 말그대로 Input과 Output의 방향을 바꾼다라는 뜻이다.
$ ls -l > result.txt
- 기존 stdoutput 대상은 화면이었지만, 위 명령어에서
>
가 IO Redirection을 진행하여 ls -l의 stdoutput 대상이 result.txt가 된다.
>
는 1>
과 같은 의미로 stdoutput을 redirection한다. (stderr는 redirection하지 않는다.)
2>
는 stderr를 redirection한다. (stdoutput은 redirection하지 않는다.)
1>
과 2>
를 함께 사용할 수도 있다. stdoutput이 발생하면 1>
를 수행하고 stderr가 발생하면 2>
를 수행한다.
- 자주 쓰이지는 않지만
<
를 통해 stdinput을 변경할 수도 있다.(argument를 사용하는 것과 유사해보이지만 다르다.)
>>
: >
를 사용하면 목적 파일은 항상 처음부터 다시 작성되지만, >>
를 사용하면 이어서 작성된다.
$ ls | grep zip
- 파이프라인(
|
)을 통해 ls의 stdoutput이 그대로 grep zip 명령어로 전달된다.
|
: 특정 명령어의 stdoutput을 특정명령어의 stdinput으로 사용한다.