Bash

為什麼 dd if=/dev/sdb |豬-c |tee /sdb.img.gz 列印到控制台?

  • September 2, 2020

該命令(在標題中sudo dd if=/dev/sdb | pigz -c | sudo tee /sdb.img.gz省略)列印二進制數據以控制台輸出或。我想知道為什麼因為所有輸出都被擷取在管道中並且鏈中的最後一個被重定向到文件。因此,標準輸出沒有“洩漏”。我沒有得到什麼?sudo``dd``pigz``|

我正在bash使用附帶的命令版本的 Ubuntu 20.04。

tee 複製其輸入,將其(在您的情況下)發送到其標準輸出和/sdb.img.gz. 您可以重定向其輸出以避免在控制台上看到輸出:

sudo dd if=/dev/sdb | pigz -c | sudo tee /sdb.img.gz > /dev/null

我會pigz直接以 root 身份執行,避免使用ddand tee

sudo sh -c 'pigz -c < /dev/sdb > /sdb.img.gz'

tee 列印到文件和標準輸出,cat如果你不想要,使用或簡單地重定向標準輸出

引用自:https://unix.stackexchange.com/questions/607485