Skip to content

2. 제로와 널


/dev/null은 블랙홀과 같이 이 파일에 쓰여진 모든 것은 영원히 사라져 버린다. /dev/null은 명령어줄이나 스크립트에서 아주 유용하게 쓸 수 있다.


다음과 같이 표준출력이나 표준에러를 막을 수 있다.


# 에러 메시지는 완전히 사라짐
rm "$badname" 2>/dev/null


다음과 같이 파일 자체와 모든 퍼미션은 그대로 가지면서 내용만 지울 수 있다.


cat /dev/null >/var/log/messages
cat /dev/null >/var/log/wtmp
예제) 쿠키 항아리를 숨기기
#!/bin/bash

if [ -f ~/.netscape/cookies ]; then
rm -f ~/.netscape/cookies
fi

# 이제 모든 쿠키는 디스크에 저장되지 않고 블랙홀로 보내짐
ln -s /dev/null ~/.netscape/cookies

exit 0


/dev/zero/dev/null처럼 가상 파일이지만, 실제로 0 값을 가지고 있다. /dev/zero는 특정한 길이의 초기화된 더미 파일을 임시 스왑 파일로 만드는 데 주로 사용된다.


References