linux xz命令


bzip2已经具有很高的压缩比了,xz压缩比比bzip2还要高! xz的用法也和gzip、bzip2几乎一模一样:

            [peter@study ~]$ xz [-dtlkc#] 文件名
            [peter@study ~]$ xcat/xmore/xless/xgrep 文件名.xz
            选项与参数:
            -d :就是解压缩啊!
            -t :测试压缩文件的完整性,看有没有错误
            -l :列出压缩文件的相关信息
            -k :保留原本的文件不删除~
            -c :同样的,就是将数据由屏幕上输出的意思!
            -# :同样的,也有较佳的压缩比的意思!
          
将/etc/services文件复制到/tmp目录下,然后用xz命令压缩/tmp/services文件:
            [peter@study tmp]$ xz -v services
            services (1/1)
            100 %
            97.3 KiB / 654.6 KiB = 0.149
            [peter@study tmp]$ ls -l services*
            -rw-rw-r--. 1 peter peter 123932 Jun 30 19:09 services.bz2
            -rw-rw-r--. 1 peter peter 135489 Jun 30 18:46 services.gz
            -rw-r--r--. 1 peter peter 99608 Jun 30 18:40 services.xz
            
可以看到xz的压缩比比gzip和bzip2都要高。
列出压缩文件services.xz的信息:
            [peter@study tmp]$ xz -l services.xz
            Strms Blocks
            1 1
            Compressed Uncompressed
            97.3 KiB   654.6 KiB
            Ratio Check Filename
            0.149 CRC64 services.xz
            
xz -l列出了文件压缩前后的大小对比。
读取压缩文件:
            [peter@study tmp]$ xzcat services.xz
          
解压缩:
            [peter@study tmp]$ xz -d services.xz
          
重新压缩文件,保留原文件:
            [peter@study tmp]$ xz -k services
          
由于xz的压缩比非常高,所以xz花费的时间往往也比较久!
可以使用time命令统计gzip、bzip2、xz这三个压缩命令的时间:
            [peter@study tmp]$ time [gzip|bzip2|xz] -c services > services.[gz|bz2|xz]
          
结果发现这三个指令的运行时间依序是: 0.019s, 0.042s, 0.261s。
可以看到xz占用的时间比前两个多出很多。
所以三个命令的使用需要用户酌情选择。折中的方案就是使用bzip2了。

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读