리다이렉션

명령어가 실행되면 표준 입력출 채널이 열린다. 표준입력(stdin), 표준출력(stdout), 표준에러출력(stderr)을 표준 입출력이라고 한다.
표준 입출력을 어디로 연결할지 변경하는 것을 리다이렉션(redirection)이라 한다.

cat < /etc/crontab #입력 리다이렉션을 사용하여 cat 명령어 실행
cat /etc/crontab #인자로 파일 지정

두 방식의 출력은 같지만 리다이레션을 사용한 경우는 표준 입력을 읽어 표준 출력에 사용하는것이고 실행인자로 지정하는 방식은 사용자 편의를 위해 cat 명령어에서 제공하는 방식이다.

ls-l / > test.txt #표준출력
ls /xxxx 2> test.txt #표준에러출력, xxxx 경로가 없음으로 오류발생

표준 출력과 표준에러를 함께 리다이렉션하기
ls /xxxx > result.txt 2>&1

리다이렉션된 파일들은 미리 생성하지 않아도 자동으로 생성된다.
> 는 파일을 덮어쓰고 >>는 파일 끝에 출력을 추가한다.
ls-l / >> test.txt
ls /xxxx 2>> test.txt

표준 출력의 양이 너무 많거나 표준 에러 출력만 확인할때는 > /dev/null
ls /xxxx > /dev/null

미야케 히데아키, 오스미 유스케 지음|이동규 옮김, 길벗, 모두의 리눅스. 231-241 참조

댓글 남기기