簡體   English   中英

如何tar一個fifo

[英]How to tar a fifo

我想tar一個寫入stdout的程序的輸出和fd = 3的fifo。 這是我的第一次嘗試:


#!/bin/bash

#Create fd=3
exec 3> >(cat)

#Start the tar
tar -cvzf ha.tgz /dev/fd/1 /dev/fd/3

#Write data
echo stdout
echo 'fd=3'>&3

#close
exec 3>&-

它創建了ha.tgz,其內容為/ dev / fd / 1和/ dev / fd / 3。 但是,當我提取文件時,它基本上會創建符號鏈接到/ dev / fd / 1和/ dev / fd / 3(這是破壞的)。 我希望文件只是普通文件,其內容將是我在腳本中回應的內容。 有沒有辦法做到這一點?

有沒有辦法做到這一點?

不。/ dev下的條目不是真實文件,它們只是設備驅動程序的類文件接口。 如果您想要常規文件,請使用常規文件。

使用zip它應該像這樣工作:

zip -FI MyZipFile /dev/fd/1 /dev/fd/3

只需將fifo內容導入gzip和文件即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM