/dev/zero
/dev/zero在类UNIX系统中是一个特殊的设备文件。/dev/zero在被读取时会提供无限的空字符(ASCII NUL, 0x00)。它的典型用法包括用它提供的字符流来覆盖信息,以及产生一个特定大小的空白文件。BSD就是通过mmap把/dev/zero映射到虚地址空间实现共享内存的。使用mmap将/dev/zero映射到一个虚拟的内存空间,这个操作的效果等同于使用一段匿名的内存(没有和任何文件相关)。
下面的方法可以用于清空sda1分区的数据:
# 请不要执行以下指令,除非你试图清除目标分区上的所有资料! dd if=/dev/zero of=/dev/sda1
创建一个名为foobar、大小为1 MiB的文件,以ASCII码为“0”的字符填充:
dd if=/dev/zero of=foobar count=1024 bs=1024
与/dev/null类似,/dev/zero也可以作为一个数据源或数据池,所有写往/dev/zero将返回成功,没有其他影响,/dev/null也是一样,但是作为数据池更常用。所有对/dev/zero的读操作,将返回请求数目的“NUL”字节。
参见
- dd (Unix)
- Unix哲学
- 标准流
- /dev/full
- /dev/null
- /dev/random
- /dev