터미널을 사용할 경우 주로 사용을 하게 되는데 /dev/null 2>&1 에 대해서 다뤄볼 것이다.
$ rm file > /dev/null
리다이렉트로 되어있는 이 명령어는 표준 출력을 /dev/null로 리다이렉션 하라는 뜻이다.
결국 표준 출력을 버리라는 뜻이다.
만약 여기서 file이라는 파일이 존재하지 않다면 표준 에러가 출력이 된다.
$ rm file > /dev/null
rm: cannot remove 'file' : No such file or directory
이건 표준 에러이기때문에 화면에 표시가 되었다.
만약 표준 출력이었다면 버려졌을텐데 표준 에러였기에 표현이 되었다.
만약 표준 에러를 버리고 싶다면
$ rm file > /dev/null 2>&1
을 사용한다.
여기서 2>&1 은 표준에러를 표준 출력으로 리다이렉션 하라는 의미이다.
그럼 바로 위 명령어는 rm test에 대한 표준 출력은 /dev/null로 버리고, 표준 에러는 표준 출력으로 리다이렉션하라는 의미이다.
그럼 결국 표준 에러가 표준 출력이 되는데 표준 출력은 버리라고 했으니 아무 출력이 나오지 않는다.
0은 표준입력 / 1 은 표준출력 / 2는 표준 에러 를 의미한다.
출력에 따라 파일을 분리해서 저장하고 싶을 경우엔 아래와 같다.
$ test.sh 1>success.log 2>error.log
로 지정 가능하다.
그럼 1일경우. 표준 출력일 경우엔 성공인 경우이며 success.log에 저장
2일경우. 표준 에러일 경우엔 에러이므로 error.log에 저장이 된다.
--2024년 10월 31일 확인 후 추가 내용.
예전 글과 중복으로 작성 되었습니다.
https://thenicesj.tistory.com/66
'IT > Linux' 카테고리의 다른 글
ufw 방화벽 (31) | 2023.12.21 |
---|---|
서버 기동시 자동 실행하는 데몬,서비스 등록하기 (49) | 2023.10.25 |
[Mac] hosts 파일 수정 (/etc/hosts) (33) | 2023.09.10 |
VNC 란? (x11vnc 설치법) (vnc-server) (47) | 2023.09.04 |
여러 버전의 패키지 관리하기 (update-alternatives) (44) | 2023.09.02 |
댓글