Linux多命令執行 管道 和重定向

2022-07-15 14:39:10 字數 1206 閱讀 5454

# 各命令執行結果並不會影響其他命令的執行

la; ls /;

# 前面的命令會影響到後面的命令的執行,前面執行成功才會執行後面的命令。

la&&ls &&

# 前面執行失敗才執行後面的命令。

ls || ls;

定義: 可以將乙個命令的輸出通過管道導向另乙個命令的輸入

管道命令只處理前乙個命令標準輸出,不處理標準錯誤

管道右邊的命令,必須是乙個能夠接收前乙個命令的標準輸出的資料流的命令才行

管道可以把兩個命令連起來,它可以連線多個命令使用

# 將輸入流 寫入到檔案

df | tee test.log

定義: 將命令的標準輸出結果標準到指定的檔案中

重定向符號

輸出到指定的檔案,會覆蓋

輸出到指定的檔案,追加

標準錯誤重定向符號

2> 將乙個標準錯誤輸出重定向到乙個檔案或裝置 覆蓋原來的檔案 b-shell

2>> 將乙個標準錯誤輸出重定向到乙個檔案或裝置 追加到原來的檔案

2>&1 將乙個標準錯誤輸出重定向到標準輸出 注釋:1 可能就是代表 標準輸出

& 將乙個標準錯誤輸出重定向到乙個檔案或裝置 覆蓋原來的檔案 c-shell

|& 將乙個標準錯誤 管道 輸送 到另乙個命令作為輸入

命令重導向示例

標準輸入;**為 0 ;或稱為 stdin ;使用的方式為 <

標準輸出:**為 1 ;或稱為 stdout;使用的方式為 1>

錯誤輸出:**為 2 ;或稱為 stderr;使用的方式為 2>

# 將程序資訊資訊輸出到 test.txt檔案中

ps > test.txt

#將顯示的資料,不論正確或錯誤均重定向到 test.txt 當中

ps 1> test.txt 2>&1

# 將正確資料重定向到test.txt錯誤資料重定向到t.txt

ps 1> test.txt 2> t.txt

參考文章

參考文章

使用subprocess執行命令列,管道阻塞

python中使用subprocess執行一系列cmd命令時,偶爾會出現阻塞情況,命令沒有繼續執行完畢。原因 subprocess的pipe是有大小的。在python2.6.11之前,pipe的大小為檔案頁的大小 i386上是4096 2.6.11之後變為65536.因此當輸出內容超過65536,會...

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

管道及重定向就是linux多命令協作的基礎機制 linux的shell對資料流進行以下分類定義 stdin 標準輸入 編號為 0 預設 鍵盤 stdout 標準輸出 編號為 1 預設 終端 stderr 標準錯誤 編號為 2 預設 終端 重定向用來控制終端資料流 將標準輸入以覆蓋形式重定向到指定檔案...

Linux多命令協作 管道 重定向

感謝linuxcast,感謝蘇勇 nash su 老師 開源文化的核心理念之一就是不要重 明輪子,很多的開源軟體都是現有軟體 功能的重新組合,就好像通過零件裝配機器一樣,源 的開放和共享讓這成為了可能,同時也大大提高了效率和生產力。在linux系統中,大多數命令都很簡單,很少出現複雜功能的命令,每個...