Linux/Unix:tar包删除(删除)文件
时间:2020-01-09 10:45:55 来源:igfitidea点击:
如何在Unix/Linux之类的操作系统下从tar包中删除单个文件?
您可以使用以下语法从tar包中删除文件:
tar --delete -f example.tar filename
示例:从tar包中删除文件
首先,使用tar命令创建一个用于测试目的的tar包,执行:
# cd /tmp # tar -cvf foo.tar /etc
要显示文件列表,请执行:
# tar -tvf foo.tar
或者
# tar -tvf foo.tar | grep 'etc/resolv.conf'
输出示例:
-rw-r--r-- root/root 30 2011-09-20 17:51 etc/resolv.conf.tmp -rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf -rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf.pppd-backup.ppp0 -rw-r--r-- root/root 51 2011-07-12 03:14 etc/resolv.conf~
要从名为foo.tar的tar包中删除名为etc/resolv.conf的文件,请执行:
# tar --delete -f foo.tar etc/resolv.conf
验证文件已从tar包中删除:
# tar -tvf foo.tar | grep 'etc/resolv.conf'
输出示例:
-rw-r--r-- root/root 30 2011-09-20 17:51 etc/resolv.conf.tmp -rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf.pppd-backup.ppp0 -rw-r--r-- root/root 51 2011-07-12 03:14 etc/resolv.conf~
要删除所有etc/resolv.conf文件,请使用通配符选择项。
它将启用模式匹配:
# tar --wildcards --delete -f foo.tar 'etc/resolv.conf*'
使用以下命令验证从tar包中删除的文件:
# tar -tvf foo.tar | grep 'etc/resolv.conf'
请注意,不允许您从压缩档案(例如tar.gz或者tar.bz2)中修改或者删除文件。