$ grep -r power /sys/ 2>&1 >/dev/null
它就不是按你预期的那样执行了 。那是因为一旦 2>&1 先被解释器解释了,标准错误输出就会被重定向到默认的标准输出文件 stdout 并且显示在屏幕上 。而接下来,当标准输出被重定向到 /dev/null 时,标准输出信息就会被清除 。最终的结果就是你将会看到错误信息显示在屏幕上 。如果你忘记了正确的顺序,还有一个更简单:
$ grep -r power /sys/ &>/dev/null
在这个例子中,&>/dev/null 就等效于 重定向标准输出与标准错误输出到 /dev/null。
其他将输出重定向到/dev/null实用例子假如你想知道你的磁盘读取序列数据的速度到底有多快,你可以使用 dd 命令来做测试 。但是 dd 指令要么就是输出到标准输出文件,要么就是指定输出到一个文件中 。为了排除写入数据对结果的影响,我们使用参数 of=/dev/null ,这样就可以使 dd 输出写入到这个虚拟文件中,而不是真正的磁盘里 。这里你甚至都不需要用 Shell 的重定向就可以做到这点 。
对于下面这条命令,参数 if= 指定用于输入的文件名;参数 of= 指定用于输出的文件名,即指定将输出写入到哪里 。
以下这样的测试并不是十分精确,但也足够说明问题了 。
$ dd if=debian-disk.qcow2 of=/dev/null status=progress bs=1M iflag=direct
文章插图
以上是一个实用场景 。下面再介绍一个场景 。
在某些情况下,你可能会想知道你从某一个服务器上下载东西的速度有多快 。但是你又不想向磁盘写入不必要的东西,那么这个时候,你就可以把内容写入到 /dev/null 里 。
$ wget -O /dev/null http://ftp.halifax.rwth-aachen.de/ubuntu-releases/18.04/ubuntu-18.04.2-desktop-amd64.iso
结论本文介绍几种 /dev/null 文件的几种实用用法,希望对你的工作有帮助 。你还知道这个特殊设备文件的其它有趣的用途吗?留言告诉我呗!推荐阅读
- 开源!适用于Win和Linux平台的YOLO4和YOLO3
- MySQL中一条SQL到底是如何执行的?
- Linux 物理内存外碎片化浅析
- 淘宝如何进入卖家中心 淘宝卖家中心入口在哪
- 茶中加药不治病,茶中加药不治病
- |看完这条,在职场中你会比其他人都走得远!
- 广州市|裁判,悠着点,您的红牌可能毁了一个中国球员的职业生涯
- 招聘|这个编制单位4月中旬公开招聘,年收入可达12万,专科生也能报名
- |在工作中领悟出的职场道理
- 节奏感强的中文歌曲分享推荐