管道(Pipes) | Linux

管道(Pipes)實現了命令之間數據的流動,讓Linux 指令能夠創建強大且高效的工作流。

Linux 管道(Pipes):

Linux 管道(Pipes),由 | 符號表示,充當兩個命令之間的通信通道。它允許一個命令的輸出成為另一個命令的輸入,創建一系列協同工作的命令鏈。

範例:

# 一個常見的用例涉及將grep命令與wc(單詞計數)結合起來。假設你想要找到一個包含特定關鍵字的日誌文件中的行數:
# cat logfile.txt 顯示日誌文件的內容。
# grep "keyword" 過濾包含指定關鍵字的行。
# wc -l 計算行數。
cat logfile.txt | grep "keyword" | wc -l

# 我們可以利用pipes將我們輸入輸出的資料轉換利用

# 從`ls -lsah`輸出的資料中,尋找關鍵字為"test2.txt"的那一行資料
ls -lsah | grep "test2.txt"

# 多重串接
# 從`ls -lsah`輸出的資料中,尋找關鍵字為"test2.txt"的資料
# 再把上面尋找關鍵字"test2.txt"找到的資料中,再進行尋找關鍵字為"Mar",並輸出
ls -lsah | grep "test2.txt" | grep "Mar"

Linux 管道(Pipes) 優勢:

管道(Pipes)的威力在於它們能夠將眾多命令鏈接在一起,執行複雜的任務而無需創建中間文件。這不僅節省了磁盤空間,還通過避免不必要的文件I/O操作提高了效率。