n >&m: 표준출력과 표준에러를 서로 바꾸기.
2>&1는 표준 출력의 전달되는 곳으로 표준에러를 전달하라라는 의미.
이것은 Bourne쉘 연산자이기 때문에 csh에서는 사용할 수 없습니다.
Redirection(방향전환) 에 대해 알아보시면 도움이 되리라 생각됩니다.
일반적인 데이타 흐름을 전환한다고 생각하시면되고
사용법은 ">" ">>" "<" 등등이 있습니다.
[linux]$ ls > aaa.txt 하게 되면 ls 내용이 aaa.txt란 파일로 저장됩니다.
DATA 의 흐름 stdin - 키보드 (표준입력) stdout - 모니터 (표준출력) stderr - 모니터 (에러출력) > : stdout 만을 보내는걸 말합니다. < : stdin 파일로 부터 데이타를 받는걸 말합니다. >> : 파일내용뒤에서부터 이어져 저장됩니다. 2> : stderr 만을 보냅니다. |
예제를 들어 설명해보죠..
# cat > std --> 키보드로 부터 입력받아 std라는 화일로 저장
> ......
> <ctrl><d>
--------------------------
# cat >> std --> 기존의 내용 뒤에 추가함
--------------------------
# ls
std
# ls std err > ss --> 에러메세지를 제외하고 명령어가 정상종료된 메
세지만 저장
ls: err: No such file or directory -->저장안됨
std -->저장됨
# ls std err 2> ss2 --> 에러메세지만을 저장
ls: err: No such file or directory -->저장됨
std -->저장안됨
# ls std err > ss3 2>&1 -->에러와 정상출력 모두 저장
---------------------------
# cat < du = # cat du --> 두 명령어의 의미는 같다
여기서 2>&1 이란 stderr 와 stdout 모두를 보내란 뜻입니다.
즉 script.sh > /dev/null 2>&1 는 모든 출력(에러출력과 정상출력)
을 /dev/null 로 보내란 뜻이 되겠네요
'Linux' 카테고리의 다른 글
[CentOS]Consol Network 설정 (0) | 2010.05.26 |
---|---|
Job 스케줄링 (0) | 2010.05.18 |
솔라리스 디렉토리 (0) | 2010.05.14 |
자주가는 Programming 링크 모음 (0) | 2010.01.03 |
리눅스 배포판 확인 (0) | 2009.12.03 |