zoukankan      html  css  js  c++  java
  • N天学习一个linux命令之xz

    前言

    最近使用gitbook写接口文档,gitbook需要nodejs执行环境。安装nodejs时,发现安装包使用的是xz后缀,它是使用LZMA无损数据压缩算法生成的文件,压缩率很高。GNU已经内置了xz命令,linux操作系统一般都自带了这个命令。

    用途

    使用lzma算法压缩文件,或者解压.xz,.lzma后缀的压缩文件

    用法

    xz [option]... [file]...

    常用参数

    动作模式类参数

    -z, --compress
    对文件进行压缩, 默认的模式

    -d, --decompress, --uncompress
    解压文件

    -t, --test
    测试压缩文件的完整性

    动作修饰符类参数

    -k, --keep
    保留原始文件,默认会删除

    -f, --force
    是否强制执行,有些操作有副作用,默认不允许,可以加上这个参数强制执行

    -c, --stdout, --to-stdout
    内容输出到标准输出缓存区,默认会写入文件

    -S .suf, --suffix=.suf
    指定文件后缀名

    --files[=file]
    从文件中读待压缩或者解压缩的文件

    基本文件格式和压缩选项类参数

    -F format, --format=format
    压缩格式
    auto:这个是默认格式,压缩时使用xz,解压时自动检测压缩文件格式
    xz:以xz格式压缩和只解压xz格式的压缩文件
    lzma or alone:以lzma格式压缩,解压时只解压lzma格式的压缩文件
    raw:压缩或者解压文件,不包含headers,高级用户才使用,一般不使用这个格式

    -C check, --check=check
    内容完整性检查,只针对xz格式生效
    none:不检查
    crc32:计算crc32
    crc64:计算crc64,默认使用这个
    sha256:sha256算法

    -0 ... -9
    压缩等级
    数字越大,压缩率越高,但相应的占用系统资源和压缩时间会相应的更多
    默认是-6
    -0 ... -2: 压缩很快,低内存使用
    -3 ... -5:更好的压缩比,中低内存使用,需要的时间比 -0 ... -2长
    -6 ... -9:极高的压缩比,中高内存使用

    -M limit, --memory=limit
    设置内存使用限制,默认是系统物理内存的40%
    固定大小:-M 80Mib
    系统物理内存百分比:-M 70%

    其它类的参数

    -v, --verbose
    输出详细的信息,指定2次会输出更详细的信息,可以用于调试

    -h, --help
    输出简易版本帮助信息

    -H, --long-help
    输出详细内容帮助信息

    -V, --version
    输出程序版本


    实践

    压缩文件

    [root@vm ~]# xz --keep --verbose node-v8.9.4-linux-x64.tar 
    node-v8.9.4-linux-x64.tar (1/1)
      100.0 %                 11.8 MiB / 61.1 MiB = 0.193   2.6 MiB/s         0:23
    

    解压文件

    [root@vm ~]# xz --decompress --keep --verbose node-v8.9.4-linux-x64.tar.xz 
    node-v8.9.4-linux-x64.tar.xz (1/1)
      100.0 %                 11.8 MiB / 61.1 MiB = 0.193
    

    后记

    1.压缩和解压缩比较耗系统资源,操作时尽量选择系统不繁忙的时间段
    2.支持和打包命令tar一起使用

    参考资料

    【1】man xz
    【2】tar.xz格式文件的解压方法
    http://www.cnblogs.com/wlei/archive/2012/08/28/2660274.html

  • 相关阅读:
    fetch
    创建Vue实例传入的option
    Text and Binary modes
    daemon_int
    http 协议 c++代码 获取网页
    asp.net mvc 5 初体验
    win32 音视频相关 api
    setuid和seteuid
    用0x077CB531计算末尾0的个数
    webservice gsoap 小记
  • 原文地址:https://www.cnblogs.com/wadeyu/p/8312858.html
Copyright © 2011-2022 走看看