国产三四级日韩三四级当你想向 /dev/null 写入数据时

  • 首页
  • 免费观 看成人网站
  • 将粗大挺进邻居人妻
  • 亚洲国产成人AV线
  • 伊人狼人大蕉香AV
  • 行房时间短怎么治
  • 国产三四级日韩三四级当你想向 /dev/null 写入数据时
    发布日期:2022-09-23 05:50    点击次数:101
    有肉有剧情古言甜文国产三四级日韩三四级

    人人好,我是良许。

    人人长远,在 Linux 下,一切皆文献,对于建树文献亦然如斯。咱们在责任的经由中,平庸会看到/dev/null 这个玩意,那它到底是什么呢?

    专科地讲,/dev/null 是一个造谣建树文献。而对体式而言,这些造谣建树文献则会被当成着实的文献对待。体式不错向这种数据源央求数据,所获得的数据将由操作系统提供。然而,这些数据并不是从磁盘上读取到的,而是由操作系统动态生成的。造谣建树文献的一个典型例子即是 /dev/zero 。

    相干词,当你想向 /dev/null 写入数据时,不论你向 /dev/null 中写入什么数据,最终都会被丢弃,就像被丢入黑洞相通。

    既然如斯,那么 /dev/null 到底有什么用?要鸠合这个问题,你最初必须要对 Linux 系统随机 Unix 以及类 Unix 系统的法式输出以及法式造作输出有基本的了解。

     

    法式输出文献与法式造作输出文献

    一个敕令行体式不错生成两种类型的输出:法式输出与法式造作输出。法式输出会被记载到法式输出文献 stdout ,而法式造作输出会被记载到法式造作输出文献 stderr 。

    默许情况下,法式输出文献与法式造作输出文献都与你的结尾窗口相干联(随机死心台)。这就意味着任何被运送到法式输出文献或法式造作输出文献的信息都会被涌现在你的屏幕上。

    然而,通过 Shell 中的重定向,你就不错改换这个举止。比如,你不错将法式输出重定向到一个文献中。这样,法式输出信息就不会涌现在屏幕上,它将会被保存到阿谁文献中以便你以后查阅, 熟妇随机你也不错将法式输出信息重定向到另一个物理建树上,比如一个数字 LED 随机 LCD 涌现器。

    一些常用的重定向神色有如下:

    使用 2> 你不错重定向法式造作输出信息。举例:2>/dev/null 随机 2>/home/user/error.log。 使用 1> 你不错重定向法式输出信息。 使用 &> 你不错同期重定向法式造作输出信息与法式输出信息。

     

    行使/dev/null来拔除不消要的输出

    由于存在两种类型的输出:法式输出与法式造作输出,是以 /dev/null 的第一个用途即是过滤掉其中一种类型的输出。通过底下内容的例子不错更容易地鸠合以上这个用途。

    假如你想通过找 /sys 文献夹下文献名带 power 字符串的文献以此来找到对于电源建树的文献,你不错这样写敕令:

    $ grep -r power /sys/ 

    由于 /sys 文献夹下存在好多非 root 用户无法捕快的文献,这样就会酿成好多 Permission denied 造作,并被输出到屏幕上。

     

    这些造作信息会使得屏幕变得杂沓不胜,一些迫切的信息都会被冲刷不见了。而由于 Permission denied 造作信息是属于法式造作输出的一部分,是以你不错将它们重定向到 /dev/null 。

    $ grep -r power /sys/ 2>/dev/null 

     

    这样,涌现出来的信息就干净表露好多了。

    有技巧,咱们可能不想看法式输出的内容,相背,想要看法式造作的内容,那么咱们就不错将法式输出重定向到 /dev/null 。

    $ ping baidu.com 1>/dev/null 

     

    上头的截图涌现,国内按摩院性按摩推油若莫得重定向输出,当数据包不错到达指标主机时,ping 教唆会涌现它的平常输出。而第一个敕令,当齐集是连通的技巧屏幕什么也没涌现,然而一朝它与指标机器断开鸠合,屏幕就只涌现了造作信息。固然了,你也不错将法式输出与法式造作输出重定向到两个不同的文献。

    $ ping baidu.com 1>/dev/null 2>error.log 

    在这个例子中,法式输出信息就不会被涌现,而造作信息将会被保存到名为 error.log 的文献中。

     

    重定向整个输出到/dev/null

    有技巧,咱们可能都不想看任何输出,那么有两种纪律不错做到这点。

    $ grep -r power /sys/ >/dev/null 2>&1 

    字符串 >/dev/null 代表 将法式输出重定向到 /dev/null 中 ,然后第二部分,2>&1,代表将法式造作重定向到法式输出文献中。这里你必须将法式输出文献写成 &1 ,而不是绵薄地写成1 。写成 2>1 这样只会将法式输出重定向到一个名为 1 的文献中。

    这里要安定刺见识少许是,端正亦然很迫切的。淌若你将重定向的参数休养位置成以下这样:

    $ 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 

    markdown

     

    以上是一个实用场景。底下再先容一个场景。

    在某些情况下,你可能会想长远你从某一个干事器高下载东西的速率有多快。然而你又不想向磁盘写入不消要的东西,那么这个技巧,你就不错把内容写入到 /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 文献的几种实用用法,但愿对你的责任有匡助。你还长远这个独特建树文献的其它理由理由的用途吗?留言告诉我呗!

    本文授权转载自公众号「良许Linux」。良许,宇宙500强外企Linux拓荒工程师,公众号里共享多半Linux干货,接待温雅!