真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux下">/dev/null2>&1"的相關(guān)知識(shí)有哪些

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Linux下" >/dev/null 2>&1 "相關(guān)知識(shí)有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供寶山企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為寶山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

一些終端命令或者程序中有">/dev/null 2>&1 "出現(xiàn)

0:表示鍵盤輸入(stdin)

1:表示標(biāo)準(zhǔn)輸出(stdout),系統(tǒng)默認(rèn)是1 
2:表示錯(cuò)誤輸出(stderr)

command >/dev/null 2>&1 &  == command 1>/dev/null 2>&1 &

1)command:表示shell命令或者為一個(gè)可執(zhí)行程序
2)>:表示重定向到哪里 
3)/dev/null:表示Linux的空設(shè)備文件 
4)2:表示標(biāo)準(zhǔn)錯(cuò)誤輸出
5)&1:&表示等同于的意思,2>&1,表示2的輸出重定向等于于1
6)&:表示后臺(tái)執(zhí)行,即這條指令執(zhí)行在后臺(tái)運(yùn)行

1>/dev/null:表示標(biāo)準(zhǔn)輸出重定向到空設(shè)備文件,也就是不輸出任何信息到終端,不顯示任何信息。
2>&1:表示標(biāo)準(zhǔn)錯(cuò)誤輸出重定向等同于標(biāo)準(zhǔn)輸出,因?yàn)橹皹?biāo)準(zhǔn)輸出已經(jīng)重定向到了空設(shè)備文件,所以標(biāo)準(zhǔn)錯(cuò)誤輸出也重定向到空設(shè)備文件。


這條命令的意思就是在后臺(tái)執(zhí)行這個(gè)程序,并將錯(cuò)誤輸出2重定向到標(biāo)準(zhǔn)輸出1,然后將標(biāo)準(zhǔn)輸出1全部放到/dev/null文件,也就是清空.
所以可以看出" >/dev/null 2>&1 "常用來避免shell命令或者程序等運(yùn)行中有內(nèi)容輸出。

I/O重定向

重定向 的作用是把一個(gè)命令的輸出結(jié)果發(fā)送到另一個(gè)地方。

例如,使用 cat 命令查看一個(gè)文件,文件內(nèi)容會(huì)被打印到屏幕 :

$ cat foo.txtfoo
bar
baz

此時(shí),屏幕就是命令的標(biāo)準(zhǔn)輸出( standard output 【stdout】)位置。

我們可以把文件內(nèi)容發(fā)送到別的地方,例如,重定向到 output.txt 文件中 :

$ cat foo.txt > output.txt$ cat output.txtfoo
bar
baz

其中第一個(gè) cat 使用 >把 stdout 的位置改為了另一個(gè)文件。

再看一個(gè)例子,查看一個(gè)不存在的文件:

$ cat nop.txt > output.txtcat: nop.txt: No such file or directory

這里的錯(cuò)誤提示信息為什么顯示到了屏幕,而不是發(fā)送到 output.txt 呢?

這就涉及到了另一個(gè)位置:標(biāo)準(zhǔn)錯(cuò)誤輸出standard error 【stderr】。

$ cat nop.txt > output.txt

這個(gè)命令是把 stdout 定位到了文件,而沒有定義 stderr 的位置,所以錯(cuò)誤信息顯示到了默認(rèn)的位置:屏幕。

文件描述符

Linux 中一切皆文件,每個(gè)文件都有一個(gè)文件描述符,值是個(gè)正整數(shù)。

所以,標(biāo)準(zhǔn)輸出stdout與 標(biāo)準(zhǔn)錯(cuò)誤輸出stderr也有自己的文件描述符:

  • stdout 為 1

  • stderr 為 2

綜合

$ cat foo.txt > output.txt

實(shí)際上就是這樣的:

$ cat foo.txt 1> output.txt

就是把 stdout 指向了 output.txt,> 是 1> 的簡寫。

所以重定向錯(cuò)誤信息的輸出就應(yīng)該是這樣的:

$ cat nop.txt 2> error.txt$ cat error.txtcat: nop.txt: No such file or directory

連個(gè)命令連起來就是:

$ cat foo.txt > output.txt 2> error.txt

同時(shí)重定向了標(biāo)準(zhǔn)輸出stdout與標(biāo)準(zhǔn)錯(cuò)誤輸出stderr

回顧開頭的那個(gè)命令:

ls foo > /dev/null 2>&1

現(xiàn)在基本上已經(jīng)可以理解了:

  • stdout 重定向到 /dev/null

  • stderr 重定向到 &1

/dev/null 是空設(shè)備的意思,重定向到空設(shè)備,也就是輸出信息不要了。

&1 表示:文件描述符1 的值,也就是標(biāo)準(zhǔn)輸出的值,那么 2>&1 就是 標(biāo)準(zhǔn)錯(cuò)誤輸出 與 標(biāo)準(zhǔn)輸出 一樣,也是重定向到空設(shè)備。

所以這個(gè)命令的意思是:正確信息和錯(cuò)誤信息都不顯示了。

上述就是小編為大家分享的Linux下" >/dev/null 2>&1 "相關(guān)知識(shí)有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章題目:Linux下">/dev/null2>&1"的相關(guān)知識(shí)有哪些
標(biāo)題來源:http://weahome.cn/article/jeohid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部