linux基礎知識之 IO重定向和管道

2021-06-29 09:54:30 字數 1278 閱讀 9216

1. io重定向

有兩種基本的方法可以用來重定向標準輸入(stdin)、標準輸出(stdout)和標準錯誤(stderr)。可以利用管道把這些資料流之一輸送給另外一條命令;也可以利用i/o重定向把這些資料流之一重定向到乙個檔案。管道及i/o重新定向是linux系統中特有的概念。所謂管道是指將某個命令的輸出結果傳送到另乙個命令,當成另外乙個命令的輸入,其代表符號是"|"。所謂i/o重定向是指將命令執行的結果重新匯出到其他的裝置或檔案(以">"或">>"來表示),或者重新匯入到其他的裝置或檔案(以"<"或"<<"來表示)。常用輸入輸出重定向命令格式與說明如表6.28所示。

表6.28 常用輸入輸出重定向命令格式與說明

命 令 行

說 明命令1 > 檔案1

將命令1的輸出結果重定向到檔案1

命令1 &> 檔案1

將命令1的輸出結果和標準

錯誤輸出一起重定向到檔案1

命令1 >> 檔案1

將命令1的輸出結果追加到檔案1中

命令1 2> 檔案1

將命令1的標準錯誤輸出的

結果重定向到檔案1中

命令1 < 檔案1

將檔案1作為命令1的標準輸入

命令1 << 字串1

允許連續輸入資料,直到接收到字串1

2.管道(pipe)

在linux系統中,管道的主要功能是將其他程式的輸出結果直接匯出到另乙個程式來做輸入資料,即將前乙個程式的輸出作為後乙個程式的輸入,符號表示為"|"。管道的語法格式為:

命令1 | 命令2 [ | 命令3 … ]

可以將標準錯誤輸出一起送入管道,命令格式為:

命令1 |& 命令2 [ |& 命令3 … ]

如以長格式檢視/etc目錄下的所有檔案。由於/etc目錄下的檔案很多,因此直接使用"1s-al"命令顯示的內容會很快捲過螢幕,無法仔細檢視。可以利用管道將"1s-al"命令的執行結果輸入more或less命令,實現分頁顯示,命令行為:

#ls -al | less

在實際使用中,往往配合grep命令使用:

eg:檢視有關mysql相關程序        ps -aux |grep mysql

linux系統中grep命令是一種強大的文字搜尋工具,(--所以往往可以用它去匹配某個檔案中的字串)  它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expr

ession print,表示全域性正規表示式版本,它的使用許可權是所有使用者。

參考  

參考blog:

linux入門之I O重定向

我們知道,執行乙個shell命令行時通常會執行乙個shell命令行時通常會自動開啟三個標準檔案,即標準輸入檔案 stdin 通常對應終端的鍵盤 標準輸出檔案 stdout 和標準錯誤輸出檔案 stderr 這兩個檔案都對應終端的螢幕。程序將從標準輸入檔案中得到輸入資料,將正常輸出資料輸出到標準輸出檔...

linux基礎 管道和I O重定向

計算機五大組成部分 運算器 控制器 cpu 儲存器 ram 輸入裝置 輸出裝置 程式 指令和資料 資料匯流排 傳輸資料 控制匯流排 控制指令 暫存器 cpu暫時儲存器 input裝置 output裝置 系統設定 預設輸出裝置 標準輸出 stdout 1 預設輸入裝置 標準輸入 stdin 0 標準錯...

shell基礎 I O重定向

檔案識別符號 fd 1.linux使用檔案識別符號 fd 來標識乙個程序正在訪問的特定檔案 2.當開啟乙個檔案或建立乙個檔案時,linux將返回乙個檔案識別符號供其他操作引用 3.檔案識別符號是乙個小的非負整數,他是對應程序的 4.當linux系統啟動乙個程序時,將自動為該程序開啟三個檔案 標準輸入...