我追加>时出错/dev/null
tar命令,任何人都知道第二个例子中发生了什么?
好:
tar -cvf $kname /var/www
坏:
tar -cvf $kname /var/www > /dev/null
error:tar: Removing leading `/' from member names
答案 0 :(得分:10)
" good"版本也会显示您错过的相同消息。
如果您不喜欢这种行为,请在手册中搜索"引导"。第一击:
-P, --absolute-names
don't strip leading '/'s from file names
答案 1 :(得分:5)
这是因为您的文件($kname
)具有前导/
。
要解决此问题,您可以指定-C
来更改目录,而不是指定存档文件的完整路径。
答案 2 :(得分:1)
最好在备份中保留没有'/'的文件,只需忽略错误消息即可。 Tar会将此作为安全预防措施,因为如果您解压缩文件,它会自动将文件放回原始目录中。这可能很危险,大多数人都希望避免这种情况。就个人而言,我很高兴它删除了'/'然后你的恢复将是相对的而不是绝对的目录路径。然后,您可以手动将文件移动到正确的位置或不同的位置。只需发布此信息即可让人们了解并且不会无意中替换原始文件。