提取存储在 tar 存档中的文件的先前版本
Posted
技术标签:
【中文标题】提取存储在 tar 存档中的文件的先前版本【英文标题】:Extract a previous version of file that is stored within a tar archive 【发布时间】:2013-10-03 10:35:12 【问题描述】:我有一个 tar 文件,其中包含同一文件的不同版本,我如何提取该文件的先前版本(不是最新版本)?
以下是创建测试 tar 文件的方法:
创建一个测试目录
tal@backup:~/tmp$ mkdir test
创建一个测试文件
tal@backup:~/tmp$ echo line 1 > test/test.txt
创建包含测试文件的 tar 文件
tal@backup:~/tmp$ tar -cvf test.tar test/*
返回
test/test.txt
检查更改
tal@backup:~/tmp$ tar -dvf test.tar test/*
返回(还没有)
test/test.txt
更改测试文件
tal@backup:~/tmp$ echo line 2 >> test/test.txt
检查更改
tal@backup:~/tmp$ tar -dvf test.tar test/*
返回(魔术:文件已更改)
test/test.txt
test/test.txt: Mod time differs
test/test.txt: Size differs
更新 tar 文件
tal@backup:~/tmp$ tar -uvf test.tar test/*
返回
test/test.txt
检查更改
tal@backup:~/tmp$ tar -dvf test.tar test/*
返回(两个版本都存在)
test/test.txt
test/test.txt: Mod time differs
test/test.txt: Size differs
test/test.txt
谢谢, 塔尔
【问题讨论】:
【参考方案1】:已解决:
--occurrence=n
n - [0 .. 版本数]
0 - 最后一个(默认) 1 .. 版本号 - 是实际的版本号 如果 n 大于版本数,则会出错示例
tar -xvf test.tar --occurrence=1 test/test.txt
谢谢, 塔尔
【讨论】:
以上是关于提取存储在 tar 存档中的文件的先前版本的主要内容,如果未能解决你的问题,请参考以下文章