微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何tar一个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(这是破坏的).我希望文件只是普通文件,其内容将是我在脚本中回应的内容.有没有办法做到这一点?

解决方法:

Is there a way to do this?

不./ dev下的条目不是真实文件,它们只是设备驱动程序的类文件接口.如果您想要常规文件,请使用常规文件.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐