Linux 管道pipeline

# 管道符:
# tar归档目录,gzip压缩,ssh传输并用cat读取标准输入到文件
tar cf - kernel/linux-6.4.7/ | gzip | ssh [email protected] "cat > destination.tar.gz"

# 管道文件(没读取时写入会被阻塞):
# 创建管道文件
mkfifo myfifo
# 使用示例:
partclone.vfat -c -d -s /dev/sdb1 -o - > myfifo
# 2.方式1,不推荐使用,读取管道文件并压缩(因为cat->管道->zip感觉效率会低,但也许没什么区别,毕竟还有系统及底层实现因素)
cat myfifo | zip red_usb_sdb3.img.zip -
# 2.方式2,推荐方式!直接将管道写入标准输入,从而压缩
zip red_usb_sdb3.img.zip - < myfifo

# 删除管道文件
rm myfifo

你可能感兴趣的:(Linux,linux)