Archives

Linux上常用的文件(打包)解压和压缩工具:xz

xz

回顾:

Linux上常用的文件(打包)解压和压缩工具:tar

1. 介绍

XZ Utils 是为 POSIX 平台开发具有高压缩率的工具,它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。

因为压缩率高,被广泛用于软件分发, 详细介绍请移步: XZ Utils 官方地址

2. 安装

2.1 yum 安装:

CentoOS7 操作系统安装模式比较简单:

sudo  yum install xz    

2.2 源代码安装

wget  https://tukaani.org/xz/xz-5.2.3.tar.gz
tar xzvf xz-5.2.3.tar.gz
./configure --prefix=$PWD
make
make install
make clean
export PATH=$PWD/bin:$PATH 

3.命令行接口

老规矩, 学习一个命令工具的第一个任务就是了解命令行选项:

$ xz -h
Usage: xz [OPTION]... [FILE]...
Compress or decompress FILEs in the .xz format.

  -z, --compress      force compression
  -d, --decompress, --uncompress
                      force decompression
  -t, --test          test compressed file integrity
  -l, --list          list information about .xz files
  -k, --keep          keep (don't delete) input files
  -f, --force         force overwrite of output file and (de)compress links
  -c, --stdout, --to-stdout
                      write to standard output and don't delete input files
  -0 ... -9           compression preset; default is 6; take compressor *and*
                      decompressor memory usage into account before using 7-9!
  -e, --extreme       try to improve compression ratio by using more CPU time;
                      does not affect decompressor memory requirements
  -T, --threads=NUM   use at most NUM threads; the default is 1; set to 0
                      to use as many threads as there are processor cores
  -q, --quiet         suppress warnings; specify twice to suppress errors too
  -v, --verbose       be verbose; specify twice for even more verbose
  -h, --help          display this short help and exit
  -H, --long-help     display the long help (lists also the advanced options)
  -V, --version       display the version number and exit

With no FILE, or when FILE is -, read standard input.

Report bugs to <lasse.collin@tukaani.org> (in English or Finnish).
XZ Utils home page: <http://tukaani.org/xz/>

主要命令行参数介绍:

-z: 压缩文件;
-d: 解压文件;
-t: 测试压缩文件完整性;
-l: 列出压缩文件信息;
-k:保留原解压缩文件;
-f: 强制覆盖输出文件和压缩/解压链接;
-c:压缩输出流重定向到标准输出流,保留原文件;
-T: 设置线程数, 设置0使用全部核心;
-v  显示压缩、解压详细进度;

4.使用XZ

4.1 单文件压缩/解压

xz otus.fa  otu_table_freqs.txt

可指定多个文件,但是每个文件都会归档为单一压缩文件,如需要将多个文件压缩至一个压缩包内,需要使用tar先对文件进行打包,在使用xz压缩。

压缩后会删除文件otus.fa和otu_table_freqs.txt, 如需要保留原始文件需要设置 -k 选项。

xz -k otus.fa otu_table_freqs.txt
xz -fdk *.xz

4.2 结合tar多文件压缩

tar cJvf  uparse.tar.xz  uparse

4.3 解压tar.xz文件

tar cJvf  uparse.tar.xz  uparse

当然可以使用级联模式,先解压,再解包;

xz -dkc  uparse.tar.xz | tar xvf  -

5.其它

developerworks对xz Utils做信息描述:使用 XZ Utils 获得更高的压缩率
Quick Benchmark: Gzip vs Bzip2 vs LZMA vs XZ vs LZ4 vs LZO

本文材料为 BASE (Biostack Applied bioinformatic SEies ) 课程 Linux Command Line Tools for Life Scientists 材料, 版权归 上海逻捷信息科技有限公司 所有。

Last Update: 2017-10-27 3:12 PM

Comments are closed.