Linux shell:将 bz2 档案重新打包到 xz 中

Linux shell:将 bz2 档案重新打包到 xz 中

如果我想保存文件的日期戳及其 chmod-chown 设置,如何将 .bz2 档案重新打包为 .xz 格式?

我可以使用任何标准工具和 xz、lzma、p7zip

答案1

你需要把它分成两部分

1)从bz2转换为xz,billc.cn回答过

2) 修复 xz 文件的所有权、权限和时间戳以匹配 bz2。

chown "`stat --printf '%u:%g' file.bz2`" file.xz
chmod "`stat -c '%a' file.bz2`" file.xz
touch -a -d "`stat -c '%x' file.bz2`" file.xz
touch -m -d "`stat -c '%y' file.bz2`" file.xz

答案2

您可以简单地使用bzcat来删除 bzip2 压缩但保留 tar 格式,然后将结果导入xz

bzcat file.tar.bz | xz > file.tar.xz

您可以像平常一样添加压缩选项xz,但只需省略文件名,以便使用标准输入。

相关内容