如果有一个包含数千个文件的压缩文件,从shell脚本中删除/替换其中的文件,最优方法是什么? tar不支持在归档中替换文件,“解压并重新压缩”用于替换大型档案中的单个文件似乎不是最佳方法。 看起来,xz也不支持此选项。 7z也不适合此任务(7z的man页面不建议将其用于压缩单个文件,只建议用于压缩tar文件,因为存在保留文件所有者/组信息的问题)。 pax也没有在归档中删除/替换文件的选项。 在Linux上有一种常见的方式可以通过命令行创建这样的档案吗?
我认为你应该认真考虑使用ZFS或其他先进的文件系统。这将允许您: 创建增量备份(通过快照) 在备份中修改文件 通过命令行管理所有内容(cronjobs等) 使用压缩 在不同设备间移动备份 如果需要更高的安全性,使用不同的RAID级别 ZFS在Solaris下运行得非常完美,但Linux已经有一个稳定的端口。