Linux 多命令協作 管道及重定向

2021-07-31 09:57:40 字數 1525 閱讀 9911

一.管道及重定向的理解

在linux系統當中,大多數命令都很簡單,很少出現複雜功能的命令,每個命令往往只實現和乙個或幾個簡單的功能,我們可以通過將不同功能的命令組合在一起使用,以達到完成某個複雜功能的目的。

linux中,幾乎所有命令的返回資料都是純文字的(因為命令都是執行在cli下),而純文字形式的資料又是絕大多數命令的輸入格式,這就讓多命令協作成為可能。

linux命令行為為我們提供了管道和重定向機制,多命令協作就是通過管道和重定向完成的。

二.命令列shell的資料流定義 名稱

說明編號

預設stdin

標準輸入0鍵盤

stdout

標準輸出1終端

stderr

標準錯誤2終端

命令通過stdin接受引數或資料,命令通過stdout輸出結果或通過stderr輸出錯誤

三.通過管道和重定向,我們可以控制cli的資料流 分類

關鍵字定義

例子重定向

>

將stdout重定向到檔案(覆蓋:如果

目標檔案不存在,則建立並新增標準

資訊,存在則覆蓋其中的內容)

echo "hello haige" >outfile

ls > outfile

>>

將stdout重定向

到檔案(追加:

只能重定向標準輸出資訊,

錯誤資訊進不來)

echo "hello haige" >>outfile

date >> outfile

2>

將stderr重定向

到檔案(覆蓋,沒有

錯誤不輸出)

ls note 2> errorout

2>&|

將stderr與

stdout結合

ls note 2>&| alloutput

<

重定向stdin

grep haiyun < /etc/passwd管道|

將乙個命令的stdout作為另乙個命令的stdin

四.總結

1.管道通常用來組合不同的命令,以實現乙個複雜的功能

2.重定向通常用來儲存某命令的輸出資訊或錯誤資訊,可以用來記錄執行結果或儲存錯誤資訊到乙個指定的檔案

Linux多命令協作 管道及重定向

1.不要重 明輪子 開源文化的核心理念之一就是不要重 明輪子,很多的開源軟體 都是現有軟體 功能的重新組合,就好像通過零件裝配機器一樣,源 的開放和共享讓著這成為了可能,同時也大大的提高了效率和生產力 2.管道和重定向 在linux系統當中,大多數名列都很簡單,很少出現複雜功能的命令,每個 命令往往...

linux多命令協作 管道及重定向

linux 幾乎所有命令的返回資料都是純文字的,多命令協作稱為可能 cat 檢視檔案內容 more 以翻頁形式檢視檔案內容 向下翻頁 less 以翻譯形式檢視檔案內容 上下翻頁 head 檢視檔案的開始10行 或指定行數 tail 檢視檔案結束10行 或指定行數 名稱 說明編號 預設stdin標準輸...

Linux多命令協作 管道及重定向

管道和重定向 命令通過stdin接收引數或資料,通過stdout輸出結果或通過stderr輸出錯誤 通過管道和重定向我們可以控制cli的資料流標準輸入 標準輸出 標準錯誤 將stdout重定向到檔案 追加 注意只能儲存標準輸出資訊,錯誤資訊不可以儲存 2 2代表標準錯誤的編號將stderr重定向到檔...