2>&1

OS/리눅스 & 유닉스 2011. 9. 8. 15:31
보통 파일하나 만들때
cat /dev/null > a.txt
라고 하면 0byte 짜리 a.txt 파일이 생기잖아요...

근데, 뒤에 2>&1 은 뭐죠?
어떨때 사용하는 건가요?

shell redirection 을 공부하시면 됩니다 . man bash

간단하게 얘기하면

1 은 standard out - 표준출력

2 는 standard error - 표준 에러

2>&1 은 표준 에러를 표준 출력으로 redirection 하는 거지요.

예를 들면 

 $ echo hi > hi.txt // 1> hi.txt 에서 1을 생략해도 됩니다. 표준 출력을 hi.txt 에 저장 
$ cat hi.txt
hi
$ cat hi.txt > /dev/null  // 표준 출력을 /dev/null 로 리다이렉션합니다. 결과없음
$ rm hi.txt  // hi.txt 를 지웁니다
$ cat hi.txt  
cat: hi.txt: No such file or directory // 에러출력입니다.
$ cat hi.txt >/dev/null
cat: hi.txt: No such file or directory // 위와 같은 에러
$ cat hi.txt > /dev/null 2>&1  // 표준 에러를 표준 출력으로 redirection
$  // 아무런 출력이 없습니다.
$ rm hi.txt 
$ rm hi.txt 
rm: cannot remove `hi.txt': No such file or directory 
$ rm hi.txt > hi_err.txt 2>&1 // 위의 에러를 표준 출력으로 돌려  hi_err.txt 로 저장  
$ cat hi_err.txt 
rm: cannot remove `hi.txt': No such file or directory 

'OS > 리눅스 & 유닉스' 카테고리의 다른 글

shell 조건식  (0) 2011.09.14
Bash를 이용한 쉘 스크립팅  (0) 2011.09.08
awk  (0) 2011.09.08
awk  (0) 2011.08.26
vim  (0) 2011.08.23
: