如果多次将同一文件添加到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
它会有意义,但我找不到任何相关的文档。我想知道知道的人是否可能知道,或者有人知道这种情况不是真的吗?
答案 0 :(得分:2)
从存档中提取文件时,只显示最后存储的版本 将在文件系统中结束。因为' - 提取' (' -x')摘录 归档中的文件,并使用相同的文件覆盖文件 文件系统中的名称,如果文件名出现多次 归档文件的最后一个版本将覆盖以前的版本 刚刚提取的版本。你应该避免存储 存档中稍后的旧版本文件。
我的理解是,除非您使用-k
选项,否则-x
将始终使用存档中存储的最后一个文件进行覆盖。
修改:另请参阅GNU documentation for tar
。