问题描述
我习惯用-xfz
标志提取tarball,该标志处理gzip和bzip2压缩文件。
最近我遇到了一个.tar.xz
文件,我想用tar
一步解压缩它,我该怎么做?
最佳解决办法
现代tar本身就能识别格式!一个命令适用于任何受支持的压缩方法。
tar xf archive.tar.xz
tar xf archive.tar.gz
tar xf archive.tar
等等
次佳解决办法
尝试
tar -xJf file.pkg.tar.xz
-J
是专门处理.xz文件的标志。
第三种解决办法
如果由于某种原因tar
解决方案无法工作(可能是因为您使用的是OS X 内置s),请尝试以下操作:
unxz < file.tar.xz > file.tar
……相当于:
xz -dc < file.tar.xz > file.tar
然后使用tar
解开文件。
第四种办法
xz是一个无损数据压缩器。你将不得不从XZ中提取焦油球,然后提取焦油:
unxz my_archive.tar.xz # results in my_archive.tar
然后你知道要提取一个焦油
tar -xf my_archive.tar
第五种办法
我遇到了同样的问题,tar xf
命令无法提取它。要解决此问题,您需要安装xz-utils
软件包。解决方案是:
sudo apt-get install xz-utils
然后:
tar xf myfile.tar.xz
第六种办法
关于什么
tar -xvf package.tar.xz
第七种办法
如果tar识别压缩格式,则不需要标志:
tar xvf *.tar.xz
如果您需要手动解压缩输入,例如因为tar太旧而无法识别xz,或者您需要特殊路径:
xz -cd *.tar.xz | tar xvf -
管道比制作未压缩的中间文件更快,并且使用更少的磁盘空间!
第八种办法
只需要补充一点,如果在版本1.22之前有一个旧版本的GNU tar,当-xz和-J选项可用时,可以使用--use-compress-program xz
压缩或解压缩tar.xz文件。例如,
tar --use-compress-program xz -cf example.tar.xz file1 file2 file3
要么
tar --use-compress-program xz -xf example.tar.xz
第九种办法
哇,这真是一件好事。在Mac上用7zip完成了吗?尝试这个:
7z x -so file.tar.xz | tar xf -