我想要更新一个已有的tar文件,将其中的新的文件加入进去。
在GNU中,我看到:
4.2.3 更新归档文件
在上一节中,你学会了如何使用‘--append’来将一个文件添加到已有的归档文件中。相关的一个操作是‘--update’(‘-u’)。‘--update’操作通过比较指定归档成员的日期和同名文件的日期来更新tar归档文件。如果文件的修改日期比归档成员的日期更新,则把新的文件版本添加到归档文件中(就像‘--append’一样)。
然而, 当我运行我的tar更新命令时,即使它们的修改日期完全相同,这些文件也被追加了。我只想追加那些要被打包的文件的修改日期比tar文件中已有的文件更新的文件...
tar -uf ./tarfile.tar /localdirectory/ >/dev/null 2>&1
目前,每次更新时,tar文件大小会翻倍...
-P
标志就可以工作了。或者你可以使用cd /; tar -uf /path/file.tar localdirectory
(由于某种奇怪的原因,我的 tar 版本无法通过连续调用与tar -uf file.tar -C / localdirectory
命令一起使用)。 - praetorian droidtar
最初是指 磁带归档,你无法在磁带中间替换文件。 - Basile Starynkevitch