Linux命令之lz4命令如何使用
来源:亿速云
时间:2024-04-01 13:00:36 173浏览 收藏
珍惜时间,勤奋学习!今天给大家带来《Linux命令之lz4命令如何使用》,正文内容主要涉及到等等,如果你正在学习文章,或者是对文章有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!
一、lz4命令简介
LZ4是一种压缩格式,特点是压缩/解压缩速度超快(压缩率不如gzip),如果你特别在意压缩速度,或者当前环境的CPU资源紧缺,可以考虑这种格式。lz4是一种非常快速的无损压缩算法,基于字节对齐LZ77系列压缩方案。lz4提供每核400 MB/s的压缩速度,可通过多核CPU线性扩展。它的特点是极快的解码器,每核速度可达多GB/s,通常在多核系统上达到RAM速度限制项目。lz4遵循上面说到的lz77思想理论,通过滑动窗口、hash表、数据编码等操作实现数据压缩。压缩过程以至少4字节为扫描窗口查找匹配,每次移动1字节进行扫描,遇到重复的就进行压缩。centos7默认安装了lz4命令,可以实现lz4格式文件的压缩和解压缩。
二、命令使用示例
1、查看命令版本
lz4命令安装版本是1.7.5
[root@s76 ~]# lz4 -V
*** LZ4 command line interface 64-bits v1.7.5, by Yann Collet ***
2、获取命令帮助
日常使用中如果忘记lz4命令语法格式,我们可以通过lz4 --help或者man lz4命令获取lz4命令的帮助信息。
[root@s76 ~]# lz4 --help
[root@s76 ~]# man lz4
3、命令安装
centos7默认安装了lz4命令,如果没有安装,可以使用yum安装方式安装该命令。
[root@s76 ~]# yum install -y lz4 lz4-devel
4、压缩单个文件
[root@s76 ~]# lz4 anaconda-ks.cfg test.lz4
Compressed 2927 bytes into 1825 bytes ==> 62.35%
5、压缩多个文件
压缩多个文件使用参数-m,压缩后的文件名是源文件加上lz4后缀。lz4命令只可以将单个文件压缩,如果我们需要将多个文件压缩到一个文件,我们需要将lz4和tar命令结合使用。
[root@s76 ~]# lz4 -m anaconda-ks.cfg original-ks.cfg
[root@s76 ~]# ll
total 16
-rw-------. 1 root root 2927 Feb 8 15:19 anaconda-ks.cfg
-rw-------. 1 root root 1825 Feb 8 15:19 anaconda-ks.cfg.lz4
-rw-------. 1 root root 2045 Feb 8 15:19 original-ks.cfg
-rw-------. 1 root root 1216 Feb 8 15:19 original-ks.cfg.lz4
[root@s76 ~]# tar -cvf anaconda-ks.cfg original-ks.cfg |lz4 - 2.tar.lz4
Compressed 16 bytes into 35 bytes ==> 218.75%
6、压缩目录
lz4只能压缩文件,如果需要压缩目录需要结合tar命令一起。
[root@s76 ~]# tar cvf - test | lz4 - 1.tar.lz4
test/
test/1.tar
Compressed 20480 bytes into 325 bytes ==> 1.59%
7、压缩后删除源文件
[root@s76 ~]# lz4 --rm hi.txt hi.txt.lz4
Compressed 5 bytes into 24 bytes ==> 480.00%
[root@s76 ~]# ll
total 24
-rw-r–r–. 1 root root 325 Feb 12 20:57 1.tar.lz4
-rw-------. 1 root root 10240 Feb 12 20:40 anaconda-ks.cfg
-rw-r–r–. 1 root root 24 Feb 12 21:01 hi.txt.lz4
-rw-------. 1 root root 2045 Feb 8 15:19 original-ks.cfg
drwxr-xr-x. 2 root root 19 Feb 12 20:38 test
8、解压lz4文件
[root@s76 ~]# lz4 -d hi.txt.lz4
Decoding file hi.txt
hi.txt.lz4 : decoded 5 bytes
[root@s76 ~]# ll
total 28
-rw-r–r–. 1 root root 325 Feb 12 20:57 1.tar.lz4
-rw-------. 1 root root 10240 Feb 12 20:40 anaconda-ks.cfg
-rw-r–r–. 1 root root 5 Feb 12 21:01 hi.txt
-rw-r–r–. 1 root root 24 Feb 12 21:01 hi.txt.lz4
-rw-------. 1 root root 2045 Feb 8 15:19 original-ks.cfg
drwxr-xr-x. 2 root root 19 Feb 12 20:38 test
9、解压并删除压缩文件
[root@s76 ~]# lz4 --rm -d hi.txt.lz4
Decoding file hi.txt
hi.txt.lz4 : decoded 5 bytes
[root@s76 ~]# ll
total 24
-rw-r–r–. 1 root root 325 Feb 12 20:57 1.tar.lz4
-rw-------. 1 root root 10240 Feb 12 20:40 anaconda-ks.cfg
-rw-r–r–. 1 root root 5 Feb 12 21:01 hi.txt
-rw-------. 1 root root 2045 Feb 8 15:19 original-ks.cfg
drwxr-xr-x. 2 root root 19 Feb 12 20:38 test
10、高压缩比方式压缩
[root@s76 ~]# lz4 -9 hi.txt hi.txt.lz4
Compressed 5 bytes into 24 bytes ==> 480.00%
11、压缩并覆盖文件
[root@s76 ~]# lz4 hi.txt.lz4 hi.txt
hi.txt already exists; do you wish to overwrite (y/N) ? y
Compressed 24 bytes into 43 bytes ==> 179.17%
[root@s76 ~]# lz4 -f hi.txt.lz4 hi.txt
Compressed 24 bytes into 43 bytes ==> 179.17%
12、解压并输出文件
[root@s76 ~]# cat hi.txt
hi,wuhs
[root@s76 ~]# lz4 -dc hi.txt.lz4
hi,wuhs
13、解压速度测试
1个22G的文件解压花费时间5分18秒,解压后的大小为45G。
三、lz4命令使用语法及参数说明
1、命令格式
#lz4 [arg] [input] [output]
2、参数说明
参数 | 参数说明 |
---|---|
-1 | 快速压缩(默认) |
-9 | 高压缩 |
-d | 解压缩(默认为.lz4扩展名) |
-z | 强制压缩 |
-f | 覆盖输出而不提示 |
-k | 保留源文件(默认) |
–rm | 成功地解除/压缩后删除源文件 |
-h/-H | 显示帮助/长帮助和退出 |
-V | 显示版本号并退出 |
-v | 详细模式 |
-q | 取消警告;指定两次也可以取消错误 |
-c | 强制写入标准输出,即使它是控制台 |
-t | 测试压缩文件完整性 |
-m | 多个输入文件(表示自动输出文件名) |
-r | 在目录上递归操作(也设置为-m) |
-l | 使用旧格式压缩(Linux内核压缩) |
以上就是《Linux命令之lz4命令如何使用》的详细内容,更多关于Linux,lz4的资料请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
500 收藏
-
370 收藏
-
479 收藏
-
193 收藏
-
411 收藏
-
359 收藏
-
450 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习