1. 程式人生 > >Linux 管道符

Linux 管道符

分號 ;

分隔兩個命令,逐個執行,相互之間沒有關聯關係。
可以用命令組合進行實現特殊效果。
例如記錄解壓縮所花費的時間

date;tar -xvfj XX.tar.bz;date;

與“&&”(雙and符號)

兩個命令間有簡單的邏輯關係
命令1成功執行,則命令2才能執行。
命令1錯誤,則命令2不進行執行。

ls && echo yes
//可以輸出ls內容和yes
lss && echo yes
//會提示命令出錯  並且不輸出yes

或“||”(雙管道符)

命令1成功執行則不執行命令2;
命令1執行失敗則執行命令2;

ls || echo yes
//可以輸出ls
lss || echo yes
//輸出yes

邏輯或和邏輯與的混合使用

!!優先順序關係和C語言中不同!!
要注意從左向右運算。

典例:
ls || echo no && echo yes
//此命令為錯誤命令,效果為輸出ls ,成功輸出時,再輸出yes,但是輸出錯誤時,會輸出no  yes 。

ls && echo yes || echo no
// 正確命令,先與後或  ,
//效果為 ls輸出成功時,同時輸出yes,輸出失敗時只輸出no.

管道符 “|”

命令1的正確輸出會作為命令2的操作物件
“錯誤輸出會被拋棄”
可以前後命令結合進行篩選執行。
命令2必須可以操作命令1的結果。
可以多級套用。

ls -l /abc >ls.txt
more ls.txt
可以分屏檢視ls-l 的輸出內容

==》
ls -l /abc |more 
直接分屏檢視,不需要 出到檔案再檢視。
wc -l 統計行號