我正在5GB存档上使用此命令
tar -zxvf archive.tar.gz /folder/in/archive
这是正确的方法吗?似乎永远没有命令行输出...
tar
默认存储相对路径。GNU tar甚至这样说,如果您尝试存储绝对路径:
tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names
如果需要提取特定文件夹,请查看tar文件中的内容:
tar -tvf foo.tar
并注意确切的文件名。对于我的foo.tar
文件,我可以这样提取/home/foo/bar
:
tar -xvf foo.tar home/foo/bar # Note: no leading slash
所以不,您发布的方式(不一定)不是正确的方式。您必须省去前导斜线。如果要模拟绝对路径,请cd /
首先执行并确保您是超级用户。同样,这样做是一样的:
tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option
tar
将路径转换为相对路径有非常明显的充分理由。一种是在原始来源以外的地方还原档案的功能。另一个是安全性。您可以提取档案,期望其文件出现在当前工作目录中,然后错误地覆盖其他地方的系统文件(或您自己的工作)。
注意:如果使用该-P
选项,tar
将存档绝对路径。因此,在提取前检查大型档案的内容总是值得的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句