美文网首页
linux 高效压缩工具之xz的压缩解压使用

linux 高效压缩工具之xz的压缩解压使用

作者: 钢铁侠的知识库 | 来源:发表于2023-01-28 19:30 被阅读0次

xz是什么

高压缩率的工具,它使用 LZMA2 压缩算法,生成的压缩文件比传统使用的 gzip、bzip2 生成的压缩文件更小,
不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些。不过压缩主要用于归档,不介意的可以忽略。
擅长压缩文本和日志文件,针对这块的压缩率,是目前我发现效率最高的,没有之一。

语法结构:

xz [选项] [参数]

主要参数说明:

  • -z --compress # 强制压缩
  • -d --decompress # 解压缩
  • -t --test # 测试压缩文件的完整性
  • -k --keep # 压缩或解压时保持源文件不被删除
  • -l --list # 列出有关.xz文件的信息
  • -0~9 # 指定压缩率,默认为6;
  • -h --help # 显示这个简洁的帮助并退出
  • -H --long-help # 显示更多帮助(还列出了高级选项)
  • -V --version # 显示版本号并退出

有些操作系统可以没有自带,需要执行yum install xz自行安装一下。
记得先装epel源yum install epel-release

压缩和解压案例

压缩使用

首先使用dd生成一个大文件,再使用xz压缩看效果

[root@VM-0-13-centos ~]# dd if=/dev/zero of=test.jpg bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.588149 s, 1.8 GB/s
[root@VM-0-13-centos ~]# xz test.jpg
[root@VM-0-13-centos ~]# ll -h
total 596K
-rw-r--r-- 1 root root 153K Jan 29 18:11 test.jpg.xz

可以看到已经对test.jpg文件进行压缩,格式如上。

解压使用

解压test.jpg.xz使用-d参数,如果保留源文件可以加-k

[root@VM-0-13-centos ~]# xz -dk test.jpg.xz 
[root@VM-0-13-centos ~]# ll -h test*
-rw-r--r-- 1 root root 1.0G Jan 29 18:11 test.jpg
-rw-r--r-- 1 root root 153K Jan 29 18:11 test.jpg.xz

可以看到压缩文件被保留了。

额外用法

使用参数 -l 显示 .xz 文件的基本信息。基本信息包括压缩率、数据完整性验证方式等。

[root@VM-0-13-centos ~]# xz -l test.jpg.xz 
Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
    1       1    152.7 KiB  1,024.0 MiB  0.000  CRC64   test.jpg.xz

使用xzcat对已压缩日志直接查看,再grep过滤关键信息,或xzgrep直接过滤也行,省去再解压步骤。

[root@VM-0-13-centos ~]# xz -k /root/wechatbot/bin/nohup.out
[root@VM-0-13-centos ~]# cd /root/wechatbot/bin/
[root@VM-0-13-centos bin]# ll
total 38456
-rw-r--r-- 1 root root      92 Dec 10 12:06 config.json
-rw------- 1 root root  674304 Jan 29 18:33 nohup.out
-rw------- 1 root root   83000 Jan 29 18:32 nohup.out.xz
[root@VM-0-13-centos bin]# xzcat nohup.out.xz |grep "18:29"
2023/01/27 18:29:02 RetCode:0  Selector:0
2023/01/27 18:29:27 RetCode:0  Selector:0
2023/01/27 18:29:52 RetCode:0  Selector:0
2023/01/28 09:18:29 RetCode:0  Selector:0
2023/01/28 18:29:06 RetCode:0  Selector:0
2023/01/28 18:29:31 RetCode:0  Selector:0
2023/01/28 18:29:56 RetCode:0  Selector:0

---- 钢铁侠的知识库 2023.01.29

总结

以上就是xz压缩解压常见用法,工作中一般会写脚本对日志进行定时压缩,
有需要查看关键报错内容的时候使用xzgrep即可,无需再解压,非常方便。

想了解更多xz --helpxz -H,或官网:https://tukaani.org/xz/

相关文章

  • 多线程压缩工具pigz使用

    参考多线程压缩工具Pigz使用 学习Linux系统时都会学习这么几个压缩工具:gzip、bzip2、zip、xz,...

  • shell命令整理(七)

    打包压缩 window打包压缩工具: linux打包压缩工具: 打包 解包 案例 压缩 解压缩 案例 打包压缩一起...

  • tar 命令 压缩解压缩

    参考文章:每天一个linux命令(28):tar命令linux下使用tar命令 解压缩tar.gz 解压缩tar.xz

  • 基础-19、文件压缩(一)

    笔记内容:6.1 压缩打包介绍6.2 gzip压缩工具6.3 bzip2压缩工具6.4 xz压缩工具 一、压缩打包...

  • 压缩打包、gzip、bzip2、xz

    目录 一、压缩打包介绍二、gzip压缩工具三、bzip2压缩工具四、xz压缩工具 一、压缩打包介绍 简单的说,压缩...

  • linux下压缩文件

    9月30日任务6.1 压缩打包介绍6.2 gzip压缩工具6.3 bzip2压缩工具6.4 xz压缩工具 压缩打包...

  • 基础篇

    Linux学习 一、zip压缩工具 gzip、bzip2、xz都不支持压缩目录,zip支持压缩目录 安装工具可以解...

  • xz 命令行工具

    xz是绝大多数linux自带的命令行压缩工具。主要命令行选项如下:

  • linux 下安装使用rarlinux

    rar 解压缩工具是windows环境下的,不过我们也可以在linux下使用。首先,我们去 https://lin...

  • MacOS 解压命令

    解压缩tar.xz 使用 tar -Jxvf 文件名 解压缩tar.gz 使用 tar -zxvf 文件名

网友评论

      本文标题:linux 高效压缩工具之xz的压缩解压使用

      本文链接:https://www.haomeiwen.com/subject/uacuhdtx.html