Jor*_*tro 916 compression tar
我习惯于提取带有-xfz标志的tarball,该标志处理 gzip 和 bzip2 档案。
最近我遇到了一个.tar.xz文件,我想使用 一步解压缩它,tar我该怎么做?
ram*_*lök 1165
Ubuntu 包含 GNU tar,它自己识别格式!根据手册,一个命令适用于任何支持的压缩方法。
tar xf archive.tar.xz
tar xf archive.tar.gz
tar xf archive.tar
Run Code Online (Sandbox Code Playgroud)
等。如果 tar 出现Cannot exec错误,您可能需要sudo apt install xz-utils先。
jrg*_*jrg 371
尝试
tar -xJf file.pkg.tar.xz
这-J是专门处理 .xz 文件的标志。
Mat*_*ens 86
如果由于某种原因tar解决方案不起作用(可能是因为您使用的是 OS X 内置程序),请尝试以下操作:
unxz < file.tar.xz > file.tar
Run Code Online (Sandbox Code Playgroud)
……相当于:
xz -dc < file.tar.xz > file.tar
Run Code Online (Sandbox Code Playgroud)
然后使用tar解压文件。
小智 36
xz 是无损数据压缩器。您必须从 xz 中提取焦油球,然后提取焦油:
unxz my_archive.tar.xz # results in my_archive.tar
Run Code Online (Sandbox Code Playgroud)
然后你知道提取焦油
tar -xf my_archive.tar
Run Code Online (Sandbox Code Playgroud)
资料来源:XZ Utils - 维基百科。
小智 21
我遇到了同样的问题,该tar xf命令无法提取它。要解决此问题,您需要安装该xz-utils软件包。解决方案是:
sudo apt-get install xz-utils
Run Code Online (Sandbox Code Playgroud)
然后:
tar xf myfile.tar.xz
Run Code Online (Sandbox Code Playgroud)
nsa*_*ane 18
tar -xvf package.tar.xz
Run Code Online (Sandbox Code Playgroud)
-x - 提取文件
-v - 详细列出处理的文件
-f - 使用指定的存档文件
小智 6
只想补充一点,如果您有1.22 版之前的旧版本GNU tar,当 --xz 和 -J 选项可用时,您可以使用--use-compress-program xz. 例如,
tar --use-compress-program xz -cf example.tar.xz file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
或者
tar --use-compress-program xz -xf example.tar.xz
Run Code Online (Sandbox Code Playgroud)
如果 tar 识别压缩格式,则不需要标志:
tar xvf *.tar.xz
如果您需要手动解压缩输入,例如因为您的 tar 太旧无法识别 xz,或者您需要一个特殊路径:
xz -cd *.tar.xz | tar xvf -
管道比制作未压缩的中间文件更快,并且使用的磁盘空间也更少!