/dev/null及其用途
/dev/null文件可以被看作是一个“黑洞”文件。它等价于一个只写的的文件。所有写入它的内容都会永远丢失(因为不可读)。而尝试从它那里读取内容也什么都读不到。但/dev/null对命令行和脚本都非常有用。
禁止标准输出:
cat $filename >/dev/null#文件内容丢失,而不会输出到标准输出上
禁止标准错误:
rm abc 2>/dev/null#这里abc是一个不存在的文件,此时无错误信息输出
禁止标准输出和标准错误输出:
cat $filename 2>dev/null >/dev/null
此时,如果$filename不存在,无任何错误信息提示;若$filename存在,文件的内容不会打印到标准输出;因此,上面的代码根本不会输出任何信息。这在只想测试命令退出码,而不想输出任何信息时非常有用。
测试命令退出码如下:
ls dddd 2>/dev/null#这里dddd是不存在的目录
echo $?#输出命令退出码:0为正常退出,1-255为出错
隐藏cookie而不再使用
if [ -f ~/.netscape/cookies ]
then
rm -f ~/.netscape/cookies
fi
ln -s /dev/null ~/.netscape/cookies#此时所有的cookies都会丢入黑洞而不保存到磁盘上