自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 中如何將輸出和錯誤重定向到 /dev/null

系統(tǒng) Linux
我們在腳本中使用了某些 Linux 命令,并且不希望它在終端屏幕上顯示任何輸出或錯誤。對于這種情況,我們可以利用輸出和錯誤重定向,將它們發(fā)送到 /dev/null。

假如有這樣一個場景:我們運行了一個 Linux 命令,它有很多的輸出信息,但是我們并不需要這些輸出信息。

或者,我們在腳本中使用了某些 Linux 命令,并且不希望它在終端屏幕上顯示任何輸出或錯誤。

對于這種情況,我們可以利用輸出和錯誤重定向,將它們發(fā)送到 /dev/null。

將標(biāo)準(zhǔn)輸出發(fā)送到 /dev/null 的命令如下:

command 1> /dev/null

將錯誤發(fā)送到 /dev/null 的命令如下:

command 2> /dev/null

將輸出和錯誤發(fā)送到 /dev/null:

command 2>&1 /dev/null

/dev/null 可以被認(rèn)為是 Linux 文件系統(tǒng)中的一個黑洞,無論你往里面仍什么,都不會看到有任何回應(yīng)。

下面我們來詳細(xì)了解一下。

將輸出重定向到 /dev/null

我們在終端中輸入一個命令,可以被認(rèn)為就是我們的輸入(假設(shè)我們執(zhí)行了 sudo apt update)。

這樣,我們給了我們的系統(tǒng)輸入,然后系統(tǒng)會顯示正在更新的存儲庫以及現(xiàn)在可以更新的包等過程信息,如下圖所示:

也就是說,系統(tǒng)給出的輸出信息,顯示的是它對命令的操作。下面是每個標(biāo)準(zhǔn)數(shù)據(jù)流的編號:

  • 標(biāo)準(zhǔn)輸入(stdin)指定為 0;
  • 標(biāo)準(zhǔn)輸出(stdout)為 1;
  • 標(biāo)準(zhǔn)錯誤(stderr)為 2。

所以,將標(biāo)準(zhǔn)輸出重定向到 /dev/null 的命令為:

command 1> /dev/null

比如,我們使用 find 命令,該命令會顯示一部分錯誤的輸出信息,然后我將標(biāo)準(zhǔn)輸出重定向到 /dev/null,但是對錯誤信息不做任何處理,仍讓其正常顯示,如下圖所示:

從上圖可以看到,當(dāng)我沒有將輸出重定向時,其顯示的輸出信息為1807行。然后當(dāng)重定向輸出時,它只顯示錯誤信息。

將錯誤重定向到 /dev/null

我們前文提到了,錯誤信息的數(shù)據(jù)流編號為 2,所以只需將上面命令的數(shù)據(jù)流編號改為 2,就可以將錯誤信息重定向到 /dev/null。

command 2> /dev/null

上述命令中的大于號 > 用于重定向數(shù)據(jù)流,數(shù)字 2 表示在標(biāo)準(zhǔn)錯誤時將其重定向。

比如,我們在 Ubuntu 上運行命令 sudo dnf updte,當(dāng)然會·報錯。然后在第二個窗口中,將錯誤進(jìn)行重定向,如下圖所示:

將輸出和錯誤均重定向到 /dev/null 下面我們來看一下如何將輸出和錯誤都重定向到 /dev/null。該任務(wù)的基本語法如下:

command 1> /dev/null 2> /dev/null

或者也可以使用精簡的版本:

command 2>&1 /dev/null

作為演示,我們使用 find 命令在 etc 目錄中查找文件。在這個路徑下訪問某些子目錄需要有 sudo 權(quán)限才可以,如果沒有使用 sudo,就會拋出一個錯誤,如下圖所示:

以上就是本次分享全部內(nèi)容。如果想了解更多關(guān)于重定向數(shù)據(jù)流的信息,可以閱讀我們之前的文章:Linux中的輸入、輸出和錯誤重定向

責(zé)任編輯:龐桂玉 來源: TIAP
相關(guān)推薦

2022-11-10 15:08:44

Linux輸入輸出

2020-11-18 09:29:06

NginxHTTPHTTPS

2014-09-04 11:39:43

Linux

2020-12-14 22:42:32

Linux終端

2010-06-23 16:14:52

Linux Bash

2010-03-01 14:45:07

Linux文件重定向

2020-07-16 07:00:00

惡意軟件域名惡意網(wǎng)站

2009-12-25 16:21:41

shell命令

2017-01-24 19:57:13

Linux命令Shell

2022-11-25 16:27:07

應(yīng)用開發(fā)鴻蒙

2015-09-07 17:45:04

升級UbuntuLinux

2023-11-11 19:07:23

SilverblueLinux

2022-04-06 11:33:43

Linux桌面GNOME 42

2020-07-27 07:41:23

Linux重定向數(shù)據(jù)流

2021-01-18 10:15:40

tee命令BashLinux

2022-11-14 15:07:09

Linux管道

2020-02-24 11:37:56

Linux重定向管道

2013-01-28 17:33:42

2010-12-14 15:07:15

ICMP路由重定向

2010-03-09 16:11:59

Linux重定向
點贊
收藏

51CTO技術(shù)棧公眾號