如果在同一文件多次添加到一个tar文件,然后提取该文件,你保证提取的版本相当于一个这是最后加入?
~/tmp> echo hi > foo
~/tmp> tar -cf bar.tar foo
~/tmp> echo bye > foo
~/tmp> tar -uf bar.tar foo
~/tmp> tar -tf bar.tar
foo
foo
~/tmp> rm foo
~/tmp> tar -xf bar.tar foo
~/tmp> cat foo
bye
它使某种意义上说,它可以,但我无法找到该效果的任何文件。我不知道是否有人在知道可能知道,或者如果有人知道一个情况,其中这是不是真的?
Some documentation for tar这样说:
当你提取存档文件中,只有最后保存的版本将在文件系统中收场。因为“--extract”(“-X”)从顺序归档文件解压缩,并覆盖文件与文件系统名称相同,如果文件名中的存档多次出现在文件的最后一个版本会覆盖刚刚被提取其以前的版本。你应该避免存放旧版本的文件后在存档。
我的理解是,除非你使用-k
选项,-x
将始终与存储在归档中的最后一个文件覆盖。