Data written to the /dev/null and /dev/zero special files is discarded.
Reads from /dev/null always return end of file (i.e., read(2) returns 0), whereas reads from /dev/zero always return bytes containing zero ('\0' characters).
These devices are typically created by:
mknod -m 666 /dev/null c 1 3 mknod -m 666 /dev/zero c 1 5 chown root:root /dev/null /dev/zero
If these devices are not writable and readable for all users, many programs will act strangely.
Since Linux 2.6.31, reads from /dev/zero are interruptible by signals. (This change was made to help with bad latencies for large reads from /dev/zero.)
chown(1), mknod(1), full(4)
dmsetup(8), full(4), gsisshd_config(5), s-nail(1), sshd_config(5).
The man page zero(4) is an alias of null(4).