2014年2月8日星期六

Linux_015:/dev/null 与 /dev/zero 的区别和用法

1. /dev/null
/dev/null 是空设备,也称为位桶(bit bucket),它是一个"黑洞",所有写入它的内容都会消失,任何内容也无法读取到。

1.1 例子
(1) cat filename >/dev/null
禁止标准输出。
(2) rm filename 2>/dev/null
禁止标准错误的输出。
(3) cat filename >/dev/null 2>/dev/null
禁止标准输出和标准错误的输出。
(4) cat /dev/null > /var/log/wtmp
清空一个文件
(5) ln -s /dev/null ~/.netscape/cookies
为 ~/.netscape/cookies 建立软链接,指向 /dev/null,现在所有的 netscape cookies 都会丢入"黑洞"而不会保存在磁盘上了。

2. /dev/zero
/dev/zero 是一个输入设备,它可以提供无穷尽的 null 流(二进制的零流,不是ASCII型的零),可以用来初始化文件。

2.1 例子
(1) dd if=/dev/zero of=/dev/sda bs=1M count=100
彻底破坏硬盘的主分区,强制让机器重启启动。
(2) dd if=/dev/zero of=/dev/null
把无穷尽的 null 流,源源不断地写入“黑洞”,用于模拟一个长时间运行的进程。
(3) md5sum < /dev/zero > /dev/null
计算无穷尽的 null 流的 MD5 值,并把结果写入“黑洞”,用于模拟一个长时间运行的进程。

没有评论: