Linux初入7 重定向和管道符

2021-09-10 01:32:32 字數 2436 閱讀 4600

一般的標準輸入輸出都是從鍵盤中獲得輸入,

一般的標準輸出表示命令執行正確,並把結果在螢幕上顯示

一般的標準異常表示命令執行不正確,把異常的情況在螢幕上顯示。

[huang@localhost ~]$ ls -al

total 16

drwx------. 2 huang huang 83 jan 18 11:55 .

drwxr-xr-x. 3 root root 19 jan 17 22:49 ..

-rw-------. 1 huang huang 87 jan 18 11:55 .bash_history

-rw-r--r--. 1 huang huang 18 apr 11 2018 .bash_logout

-rw-r--r--. 1 huang huang 193 apr 11 2018 .bash_profile

-rw-r--r--. 1 huang huang 231 apr 11 2018 .bashrc

[huang@localhost ~]$ ls -zz

ls: invalid option -- 'z'

try 'ls --help'

formore information.

那麼輸入的源頭可以改變嗎,可以是乙個檔案中的內容嗎?輸出的目的地可以改變嗎,可以是乙個檔案嗎?異常情況的目的地可以改變嗎,可以是乙個檔案嗎?當然可以。

這種以特定的方向獲取命令的輸入,傳送輸出和異常的方法就叫重定向。這個方向可以是乙個檔案的內容。

1.輸入重定向,在許多需要提供檔名的命令中,都把檔案的內容作為輸入流中的資料,因此可以通過輸入重定向符《把實現和直接提供檔名相同的結果。

符號作用

命令 < 檔案

把檔案的內容作為命令的標準輸入

命令《分割符

從螢幕讀入字元,直到遇見分界符才執行命令

命令 < 檔案1 > 檔案2

將檔案1作為命令的標準輸入並將標準輸出到檔案2

2.輸出,異常重定向

符號作用

命令 > 檔案

將標準輸出重定向到乙個檔案中(清空原有檔案的資料)

命令 >>檔案

將標準輸出追加到乙個檔案中

命令 2> 檔案

將標準異常重定向到乙個檔案中(清空原有檔案的資料)

命令 2>>檔案

將標準異常追加到乙個檔案中

命令&> 檔案 或 命令 >> 檔案 2>&1

將標準輸出和標準異常重定向到乙個檔案中(清空原有檔案的資料)

命令 &>> 檔案 或 命令 >> 檔案 2>&1

將標準輸出和異常追加到乙個檔案中

3.應用:以後需要輸入檔名的地方都可以使用重定向來進行設定了。

(1)輸入重定向。

[root@localhost ~]

# wc -l < /etc/selinux/config

[root@localhost ~]

# wc -l << over

(2)輸出重定向

[root@localhost ~]

# echo hello > readme.txt

[root@localhost ~]

# echo linux >> readme.txt

1.命令1 |命令2,把命令1的標準輸出作為命令2的標準輸入。最終螢幕顯示的是命令2的輸出。

管道符與重定向符有所不同:

重定向符,通過檔名把檔案內容傳遞給命令。

管道符,命令1把輸出內容傳遞給命令2.

例檢查當目錄下所有檔案的許可權,ls -al顯示當前目錄下所有檔案的資訊,並傳給cut。cut獲得第一列的字元。

[huang@localhost ~]$ ls -al |

cut -d" " -f1

total

drwx------.

drwxr-xr-x.

-rw-------.

-rw-r--r--.

-rw-r--r--.

-rw-r--r--.

drwxrwxr-x.

drwxrwxr-x.

-rw-rw-r--.

drwxr-xr-x.

-rw-------.

2.最常用的就是管道符命令和grep命令連起來使用。

便於尋找符合條件的行,grep

grep的一般用法 :gerp 關鍵字 檔名

grep的特殊用法:命令1 | grep 關鍵字 用於在命令1的輸出中尋找符合關鍵字條件的行。

[huang@localhost ~]$ ls -al |

grep

test

-rw-rw-r--. 1 huang huang 0 jan 22 11:58 test

Linux重定向 管道符

輸出重定向 file 重新定向正確輸出到file中 會覆蓋原檔案 2 file 重新定向錯誤輸出到file中 會覆蓋原檔案 file 重新定向所有輸出到file中 會覆蓋原檔案 file 清空file 重新定向會覆蓋原檔案內容 示例 find etc name passwd file 定向正確輸出到...

重定向和管道符

重定向和管道符 1.重定向 程式 指令 資料 命令 變數 在程式中,資料如何輸入?如何輸出?資料輸入 鍵盤 標準輸入,但並不是唯一輸入方式 stdin echo 123456 passwd stdin username 例如 功能新增使用者 useradd.sh txt文字文件1000個使用者 us...

linux 管道符 輸出重定向

1 輸出重定向 ll a.txt 將 ll的結果寫入到a.txt 2 管道符 ls la grep h 這條命令的理解為 ls la 的結果作為gerp h 的結果 gerp 是強大的文字搜尋工具 他能使用正規表示式搜尋,grep 格式 主要引數 grep c 只輸出匹配的計數 grep i 不區分...