管道(使用符號(hào)“|”表示)用來(lái)連接命令
命令1 | 命令2 | 命令3 | …
–
將命令1的STDOUT發(fā)送給命令2的STDIN踏兜,命令2的STDOUT發(fā)送到命令3的STDIN
–
STDERR默認(rèn)不能通過(guò)管道轉(zhuǎn)發(fā),可利用2>&1 或|& 實(shí)現(xiàn)
–
最后一個(gè)命令會(huì)在當(dāng)前shell進(jìn)程的子shell進(jìn)程中執(zhí)行用來(lái)
–
組合多種工具的功能
ls | tr'a-z' 'A-Z'
示例:
將/home 里面的文件打包,但打包的數(shù)據(jù)不是記錄到文件荠卷,而是傳送到stdout鸥咖,經(jīng)過(guò)管道后俊犯,將tar -cvf-/home 傳送給后面的tar -xvf-, 后面的這個(gè)-則是取前一個(gè)命令的stdout抱环,因此帽衙,就不需要使用臨時(shí)file了
tar -cvf-/home | tar -xvf-