给定一个压缩存档文件,例如 application.tar.gz
,其中有一个文件夹 application/x/y/z.jar
,我想能够获取我最新版本的 z.jar
并使用它更新/刷新存档。
除了像下面这样的方法之外,还有其他方法可以做到这一点吗?
tar -xzf application.tar.gz
cp ~/myupdatedfolder/z.jar application/x/y
tar -czf application application.tar.gz
我知道 tar 中的 -u
开关可能有助于避免解压缩整个东西,但我不确定如何正确使用它。
最佳答案
好吧,我找到了答案。
您不能对压缩存档使用 tar -u
。所以我使用的解决方案如下。请注意,我已将 z.jar
文件移动到我在当前目录中创建的文件夹中,该文件夹名为 application/x/y
,用于此目的。
gzip -d application.tar.gz
tar -uf application.tar application/x/y/z.jar
gzip application.tar
当我执行 tar -tf application.tar
时(更新之后,gzip 之前)它正确显示。
关于linux - 更新压缩的 tar 中的单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2956206/