Notice
Recent Posts
Recent Comments
Link
WAS 엔지니어
[Shell] /dev/null, 파일 설명자(표준 입력, 표준출력, 표준 오류 출력) 본문
/dev/null
- /dev/null 파일은 항상 비어있음
- /dev/null 에 전송된 데이터는 버려짐
- 따라서 특정 명령어 실행 후, 출력이 필요없는 경우는 /dev/null에 출력을 지정하는 것이 좋음
파일 설명자
0 | 표준 입력 |
1 | 표준 출력 |
2 | 표준 오류(진단) 출력 / 표준 에러 |
< filename | 입력방향을 바꾼다. |
> filename | 출력방향을 바꾼다. |
>> filename | 출력에 덧붙인다. |
2> filename | 오류의 방향을 바꾼다. |
2>> filename | 오류의 방향을 바꾸고 덧붙인다. |
&> filename | 출력과 오류를 리다이렉션 한다. |
>& filename | 오류와 출력을 리다이렉션 한다. |
1>&2 | 출력을 오류로 내보낸다. |
2>&1 | 오류를 출력으로 내보낸다. |
>| | 출력을 리다이렉션 할 때 NOCLOBBER 설정을 무시한다. |
<> filename | 장치 파일(/dev)이면, 표준 출력, 표준 입력 등에 모두 사용한다. |
[ex]
$ find / -name test.html 2>/dev/null
2>/dev/null은 정상출력이 아닌 에러 출력을 /dev/null로 보내버리는 방법
사용방법
# 표준 출력만 무시하는 경우 $ echo test 1> /dev/null # 표준 오류 출력만 무시하는 경우 $ test.sh 2> /dev/null # 표준 출력과 표준 오류 출력 둘 다 무시하는 경우 $ echo test > /dev/null 2>&1 $ test.sh > /dev/null 2>&1 |
- > /dev/null 은 표준 출력을 /dev/null로 보내라는 의미
- 2>&1 은 표준에러를 표준 출력이 보내진 곳과 동일한 곳으로 redirection 하라는 의미
표준 출력과 표준 오류 출력방향을 각각 지정하여 다른 파일로 저장 할 수 있음 |
$ echo test 1> success.txt $ test.sh 2> fail.txt $ echo test 1> success.txt 2> fail.txt $ echo test 1> /dev/null 2> fail.txt |
Comments