管道及I O重定向

2022-08-30 23:06:18 字數 1030 閱讀 6471

管道符"|":前乙個命令的輸出,作為後乙個命令的輸入

命令1 | 命令2 | 命令3 | ...

# 輸出"hello,world."並將小寫轉換為大寫

[root@localhost ~]# echo "hello,world." | tr 'a-z' 'a-z'

hello,world.

# 顯示passwd檔案中按:分割的每行第乙個部分並排序並將小寫轉換為大寫

[root@localhost ~]# cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'a-z'

admapache

bindaemon

dbus

fedora

簡單的解釋就是捕捉乙個檔案, 命令, 程式, 指令碼, 或者甚至是指令碼中的**塊的輸出, 然後將這些輸出作為輸入傳送到另乙個檔案, 命令, 程式, 或指令碼中。

執行乙個shell命令行時通常會自動開啟三個標準檔案,即標準輸入檔案(stdin),通常對應終端的鍵盤;標準輸出檔案(stdout)和標準錯誤輸出檔案(stderr),這兩個檔案都對應終端的螢幕。

程序將從標準輸入檔案中得到輸入資料,將正常輸出資料輸出到標準輸出檔案,而將錯誤資訊送到標準錯誤檔案中。

習慣上,標準輸入(standard input)的檔案描述符是 0,標準輸出(standard output)是 1,標準錯誤(standard error)是 2。

其中2>&1中的數字代表重定向檔案描述符,表示重定向 stderr 到 stdout 。

n<&-

#關閉輸入檔案描述符n.

0<&-

<&-

#關閉stdin.

n>&-

#關閉輸出檔案描述符n.

1>&-

>&-

#關閉stdout.

set -c:禁止對已經存在檔案使用覆蓋重定向:

強制覆蓋輸出,則使用 >|

set +c:關閉上述功能

I O重定向和管道

輸入輸出重定向和管道是程序間的一種特殊方式。unix程序使用標準的檔案描述符,0 stdin 1 stdout 2 stderr 當程序請求乙個新的檔案描述符的時候,系統核心將最低可用的檔案描述符給它。通常情況下這三個檔案描述符是開啟著的。一 i o重定向 在linux中,我們通過shell與系統互...

管道和I O重定向

i o重定向 i o redirection 0標準輸入 1標準輸出 2標準錯誤 輸出重定向 覆蓋,追加 root localhost date 1 date.txt root localhost date date.txt root localhost ls home aaaaaaaaa list...

I O重定向和管道

i o重定向 是將預設輸出 輸出和錯誤對應的裝置改變,指向新的目標 linux給程式提供三種i o裝置 標準輸入 stdin 0 預設接受來自終端視窗的輸入 標準輸出 stdout 1 預設輸出到終端視窗 標準錯誤 stderr 2 預設輸出到終端視窗 標準輸出和錯誤重定向 重定向到檔案比如 ech...