国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

詳解shell中>/dev/null 2>&1到底是什么

2019-10-26 18:50:44
字體:
供稿:網(wǎng)友

前言

相信大家經(jīng)常能在shell腳本中發(fā)現(xiàn)>/dev/null 2>&1這樣的語句。以前的我并沒有去深入地理解這段命令的作用,照搬照用,直到上周我將這段命令不小心寫成了2>&1 >/dev/null,出了一點小問題之后,我才開始去了解這段命令背后的“玄機”。

shell重定向介紹

就像我們平時寫的程序一樣,一段程序會處理外部的輸入,然后將運算結(jié)果輸出到指定的位置。在交互式的程序中,輸入來自用戶的鍵盤和鼠標(biāo),結(jié)果輸出到用戶的屏幕,甚至播放設(shè)備中。而對于某些后臺運行的程序,輸入可能來自于外部的一些文件,運算的結(jié)果通常又寫到其他的文件中。而且程序在運行的過程中,會有一些關(guān)鍵性的信息,比如異常堆棧,外部接口調(diào)用情況等,這些都會統(tǒng)統(tǒng)寫到日志文件里。

shell腳本也一樣,但是我們一般在使用shell命令的時候,更多地還是通過鍵盤輸入,然后在屏幕上查看命令的執(zhí)行結(jié)果。如果某些情況下,我們需要將shell命令的執(zhí)行結(jié)果存儲到文件中,那么我們就需要使用輸入輸出的重定向功能。

文件描述符

當(dāng)執(zhí)行shell命令時,會默認(rèn)打開3個文件,每個文件有對應(yīng)的文件描述符來方便我們使用:

類型 文件描述符 默認(rèn)情況 對應(yīng)文件句柄位置
標(biāo)準(zhǔn)輸入(standard input) 0 從鍵盤獲得輸入 /proc/self/fd/0
標(biāo)準(zhǔn)輸出(standard output) 1 輸出到屏幕(即控制臺) /proc/self/fd/1
錯誤輸出(error output) 2 輸出到屏幕(即控制臺) /proc/self/fd/2

所以我們平時在執(zhí)行shell命令中,都默認(rèn)是從鍵盤獲得輸入,并且將結(jié)果輸出到控制臺上。但是我們可以通過更改文件描述符默認(rèn)的指向,從而實現(xiàn)輸入輸出的重定向。比如我們將1指向文件,那么標(biāo)準(zhǔn)的輸出就會輸出到文件中。

輸出重定向

輸出重定向的使用方式很簡單,基本的一些命令如下:

命令 介紹
command >filename 把標(biāo)準(zhǔn)輸出重定向到新文件中
command 1>filename 同上
command >>filename 把標(biāo)準(zhǔn)輸出追加到文件中
command 1>>filename 同上
command 2>filename 把標(biāo)準(zhǔn)錯誤重定向到新文件中
command 2>>filename 把標(biāo)準(zhǔn)錯誤追加到新文件中
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 襄城县| 来凤县| 诸城市| 瑞安市| 内丘县| 姜堰市| 沙洋县| 隆子县| 屯昌县| 晋江市| 界首市| 平顶山市| 孝昌县| 汪清县| 怀安县| 贵州省| 巨鹿县| 招远市| 紫金县| 旬邑县| 虎林市| 黑龙江省| 阿鲁科尔沁旗| 芜湖市| 商城县| 天峨县| 彭州市| 鹤峰县| 河曲县| 萨迦县| 文成县| 射洪县| 呼和浩特市| 汪清县| 株洲县| 桑日县| 五大连池市| 阳曲县| 丰宁| 海淀区| 休宁县|