/dev/null
/dev/null 는 null이라고 이해하면 된다.
이 경로에 보내지는 모든 파일과 데이터들은 전부 사라지게 된다
즉, /dev/null로 결과를 보낸다는 것은,
데이터를 없애버려서 화면에 표시하지 않는다는 것을 말한다.
따라서 특정 명령어를 실행한 후에 출력이 필요 없는 경우엔 > /dev/null 로 리다이렉션을 하면 된다.
/dev/null 2>&1
예시로 /script.sh > /dev/null 2>&1 인 경우에,
script의 출력 결과와 에러 내용을 /dev/null에 리다이렉션 시켜서 버려버린다는 의미이다.
여기서 &는 1이 표준 출력 일련번호로 인식할 수 있도록 써주는 기호이다.
& 없이 /script.sh > /dev/null 2>1 라고 쓰게되면 표준 에러는 1이라는 파일에 저장된다
| 파일 디스크립터 | 이름 | 용도 | 표준장치 |
|---|---|---|---|
| 0 | stdin | 명령어에 입력될 내용을 저장 | 키보드 |
| 1 | stdout | 명령어에서 출력될 내용을 저장 | 화면 |
| 2 | stderr | 명령어에서 출력될 에러메시지를 저장 | 화면 |