Device File
Linux File Hierarchy를 보면 다음과 같이 Device File을 저장하고 있는
/dev
디렉토리의 파일들을 확인할 수 있다.
/dev/null
/dev
디렉터리 내의null
이라는 파일이며, Windows의\Device\Null
, DOS와 CP/M의NUL:
또는NUL
과 동일하다.
/dev/null
에 쓰여진 모든 데이터는 버려지고 복구가 불가능하다.
이는 fake 파일(디렉터리가 아님)이며, $ stat /dev/null
을 통해 파일 사이즈가 0
인 것을 알 수 있다.
해당 파일은 $ who -b
를 통해 출력되는 시스템의 boot-up 시간과 동일하다는 특징이 있다.
/dev/null
은 실행할 수 있는 파일이 아니기 때문에, 실행권한은 필요 없다.
또한, pipe를 통해 실행을 할 수 없기 때문에, /dev/null
로 데이터를 전달하려면 >
연산자를 사용해야 한다.
/dev/null
에 대한 소스코드는 https://github.com/torvalds/linux/blob/master/drivers/char/mem.c에 있다.
/dev/zero
0
으로 된 파일을 생성하기 위한 파일이다. 이렇게 하는 이유는 오래된 파일의 데이터를0
으로 덮어쓰거나, 스왑을 위한 임시 파일을 생성하기 위함이다.
다음과 같이 디스크 파티션을 포맷하거나, 더미 파일을 생성할 때 사용될 수 있다.
# dd if=/dev/zero of=<NAME_OF_FILE> bs=<SIZE_OF_BLOCK> count=<SETS_OF_BLOCK_SIZE>
# example
# 128 * 32 / 1024 === 4 GB
$ dd if=/dev/zero of=/swapfile bs=128M count=32