1. 程式人生 > >管道符、重定向

管道符、重定向

一、管道命令符
命令1 | 命令2 | 命令3
將前一個命令的標準輸出 作為後一個命令的標準輸入

#grep -v “/sbin/nologin” /etc/passwd | wc -l

二、輸入輸出(I/O)重定向
輸出重定向符(>,>>)
命令 > 檔案 #將標準輸出重定向到一個檔案中,會清空原來的檔案資料
命令 >> 檔案 #將標準輸出重定向到一個檔案中,追加原有內容後面

命令 2> 檔案 #將錯誤輸出重定向到一個檔案中,會清空原來的檔案資料
命令 2>> 檔案 #將錯誤輸出重定向到一個檔案中,追加原有內容後面

命令 >> 檔案 2>&1 或 命令 &> 檔案
#將標準輸出與錯誤輸出共同寫入到檔案中(追加到原有內容的後面)

補充:如何理解&1 重定向到 標準輸出

輸入重定向符(<,<<)
命令 < 檔案 #將檔案作為命令的標準輸入
命令 << 分界符 # 標準輸入中讀入,直到遇見分界符 才停止 一般分界符用EOF

命令 < 檔案1 > 檔案2 #將檔案1做為命令的標準輸入並將標準輸出重定向到檔案2,,會清空原來的檔案資料

重定向&>file、2>&1、1>&2的區別
預設輸出裝置:標準輸出,STDOUT,描述符 1
預設輸入裝置:標準輸入,STDIN,描述符 0
標準錯誤輸出:標準錯誤,STDERR,描述符 2

>預設為標準輸出重定向,與 1> 相同
2>&1 標準錯誤輸出 重定向到 標準輸出.
&>file 標準輸出 和 標準錯誤輸出 都重定向到檔案file中

用例子說話:

#grep da * 1>&2
#rm -f $(find / -name core) &> /dev/null
上面兩例中的 & 如何理解,&不是放到後臺執行嗎?

牛解:

1.&>file或n>&m均是一個獨立的重定向符號,不要分開來理解。

2.明確檔案和檔案描述符的區別。

3.&>file表示重定向標準輸出和錯誤到檔案
例如:
rm -f $(find / -name core) &> /dev/null,/dev/null是一個檔案,這個檔案比較特殊,所有傳給它的東西它都丟棄掉。

4.n>&m表示使檔案描述符n成為輸出檔案描述符m的副本。這樣做的好處是,有的時候你查詢檔案的時候很容易產生無用的資訊,如:2> /dev/null的作用就是不顯示標準錯誤輸出;另外當你執行某些命令的時候,出錯資訊也許很重要,便於你檢查是哪出了毛病,如:2>&1
例如:
注意,為了方便理解,必須設定一個環境使得執行grep da *命令會有正常輸出和錯誤輸出,然後分別使用下面的命令生成三個檔案:
#grep da * > greplog1
#grep da * > greplog2 1>&2
#grep da * > greplog3 2>&1 //grep da * 2> greplog4 1>&2 結果一樣
#檢視greplog1會發現裡面只有正常輸出內容
#檢視greplog2會發現裡面什麼都沒有
#檢視greplog3會發現裡面既有正常輸出內容又有錯誤輸出內容

相關推薦

管道定向與環境變量

alias 標準 翻頁 重要 防止 grep 反斜杠 信息 9.png 1.輸入輸出重定向 1.輸入重定向:把文件導入到命令中。 符號及作用: 命令 < 文件 : 將文件作為命令的標準輸入 命令 << 分界符 : 從標準輸入中讀入,直到遇到分界符才停止

Linux管道定向與環境變量

相對路徑 pat 直接 類型 別名 分組 查看 lin 絕對路徑 ——《Linux就該這麽學》筆記 輸入輸出重定向輸入重定向   指把文件導入到命令中輸出重定向   指把原本要輸出到屏幕的數據信息寫入到指定文件中 輸出重定向   分為標準輸出重定向和錯誤輸出重定向

CentOS 管道定向與環境變數

CentOS 管道符、重定向與環境變數 1. 輸入輸出重定向 2. 管道命令符 3. 命令列的萬用字元 4. 常用的轉義字元 5. 重要的環境變數 1. 輸入輸出重定向 檔案讀寫操作有關的重定向

管道定向與環境變數

一、重定向 輸入重定向是把檔案匯入到命令中去,輸出重定向是把原本要輸出到螢幕的資料資訊寫入到指定檔案中去。一般,我們使用輸出重定向的頻率更高。 標準輸入重定向 :(STDIN,檔案描述符為0)預設從鍵盤輸入,也可從其他檔案或命令中輸入 標準輸出重

管道定向

一、管道命令符 命令1 | 命令2 | 命令3 將前一個命令的標準輸出 作為後一個命令的標準輸入 #grep -v “/sbin/nologin” /etc/passwd | wc -l 二、輸入輸出(I/O)重定向 輸出重定向符(>,>

Linux-管道定向與環境變數

Linux 管道符、重定向與環境變數 管道命令符 管道命令符 | 的作用是將前一個目錄的標準輸出當做後一個命令的標準輸入,格式為命令A | 命令B 例如grep命令(檔案搜尋命令),通過關鍵詞

第三章 管道定向通配轉義字及PATH

在線 com 老師 課程 轉義 image 通配符 分享圖片 定向 下班回家,早早打開電腦準備收聽老師的在線課程,講的生動細致,認真做筆記很重要!!!第三章 管道符、重定向、通配符、轉義字符及PATH

linux入門系列7--管道定向環境變數

前面文章我們學習了linux基礎命令,如果將不同命令組合使用則可以成倍提高工作效率。本文將學習重定向、管道符、萬用字元、轉義符、以及重要的環境變數相關知識,為後面的shell程式設計打下基礎。 一、IO重定向 前文我們已經講解了近60個linux常用命令,前文講解的檢視當前目錄下有哪些檔案的ls命令 [roo

定向管道環境變數

輸入重定向(標準輸入) STDIN  0表示,預設從鍵盤輸入,可以從檔案中進行讀取,使用< 輸出重定向  使用>   使用>>表示追加(自動換行) 標準輸出  STDOUT  1表示,預設輸出螢幕 錯誤輸出  STDERR  2表示,預設輸出螢幕

bash的基本功能(定向管道萬用字元)

輸出重定向 注:linux中一切皆檔案,為方便記憶,在sh中以0,1,2分別表示這三種輸入輸出 管道符 注: 1. 可通過data;

Linux學習筆記之管道定向與正則表達式

linux管道與重定向 linux學習筆記 linux 正則表達式 管道:前一個命令的輸出,作為後一個命令的輸入命令1 | 命令2 | 命令3| 命令4 #tee 即在顯示器顯示,又在文件在保存文件例#echo “hello ,word” | tee /tmp/ hello.out例#wc -l

Linux入門-7 Linux管道定向以及文本處理

cas tde blog linux中 err linuxcast 重要 nal new Linux管道、重定向以及文本處理 1 Linux多命令協作:管道及重定向 管道和重定向 2 Linux命令行文本處理工具 文件瀏覽 基於關鍵字搜索-grep 基於列處理文本-

Python檔案&IO處理技巧(1): 讀寫定向間隔路徑存在性與檔案列表

1. 文字資料的讀寫 open() & write() : rt模式的重新整理模式 當我們需要讀寫各種不同編碼的文字資料(如ASCII,UTF-8或UTF-16編碼等), 可以直接使用帶rt模式的open()內建函式。如果需要將文字內容寫入到一個檔案中,就要使用帶有 w

Linux 學習之路(四):管道定向正則

管道及IO重定向 運算器、控制器:CPU 儲存器:RAM 輸入裝置/輸出裝置 程式:指令和資料 控制器:指令 運算器: 儲存器: 地址匯流排:記憶體定址 資料匯流排:傳輸資料 控制匯流排:控制指令 暫存器:CPU暫時儲存器 I/O:硬碟 系

管道定向

重定向:顯示的命令結果輸送到其他地方。 管道:兩個命令連起來。一個輸出一個輸入。 命令的結果可以“流向”:終端,檔案,其他命令。 >和>>:重定向到檔案 >新檔案 >>追加 /dev/null 檔案是特殊檔案,不是一個目錄。此檔案具有唯

查詢管道命令和定向

grep命令 查詢符合條件的字串 選項與引數: -a :將 binary 檔案以 text 檔案的方式搜尋資料 -c :計算找到 ‘搜尋字串’ 的次數 -i :忽略大小寫的不同,所以大小寫視為相同 -n :順便輸出行號 -v :反向選擇,輸出不匹配

Linux 第三天 定負管道環境變數

1 輸入輸出重定向簡而言之,輸入重定向是指把檔案匯入到命令中,而輸出重定向則是指把原本要輸出到螢幕的資料資訊寫入到指定檔案中。在日常的學習和工作中,相較於輸入重定向,使用輸出重定向的頻率更高,所以又將輸出重定向分為了標準輸出重定向和錯誤輸出重定向兩種不同的技術,以及清空寫入與追加寫入兩種模式。1.1

Linux 第三天 定負管道環境變量

模式 com 導入 RoCE 分享圖片 mark type term 文件 1?輸入輸出重定向簡而言之,輸入重定向是指把文件導入到命令中,而輸出重定向則是指把原本要輸出到屏幕的數據信息寫入到指定文件中。在日常的學習和工作中,相較於輸入重定向,使用輸出重定向的頻率更高,所以又

Python檔案&IO處理技巧(1): 讀寫定向間隔路徑存在性與檔案列表

1. 文字資料的讀寫 open() & write() : rt模式的重新整理模式 當我們需要讀寫各種不同編碼的文字資料(如ASCII,UTF-8或UTF-16編碼等), 可以直接使用帶rt模式的open()內建函式。如果需要將文字內容寫入到一個檔案中,就要使用帶有

Linux 常用命令1 pwdlscdtab清屏定向轉義管道touchmkdirtreecatmorermdirrmgrephelpmanhistoryfind

宣告:頁1涉及的命令:pwd、ls、cd、tab、清屏、重定向、轉義、管道、touch、mkdir、tree、cat、more、rmdir、rm、grep、help、man、history、find頁2正在更新中,傳送門:https://blog.csdn.net/dumun