linux lz4源码,Linux下lz4解压缩命令小结

本文详细介绍了LZ4压缩算法的特点,包括其在压缩速度上的优势和在多核处理器上的良好扩展性。文章还提供了在CentOS系统中安装和使用LZ4的步骤,包括压缩和解压缩命令的使用,以及各种参数的解释。通过实例展示了不同参数如何影响压缩和解压缩过程,如快速压缩、高压缩、保留源文件、删除源文件等选项。此外,还提到了LZ4对多个文件的批量处理能力。
摘要由CSDN通过智能技术生成

lz4是一个让"人见人爱、花见花开"的压缩算法,能够在多核上很好的扩展。lz4在压缩率上略微逊色, 但是在解压速度上有着惊人的优势 (大概是gzip的3倍(多次测试对比))。因为压缩时高效的多核利用,再加上惊艳的解压,lz4已经在非常多重要场合使用了! 对于需要频繁压缩、实时快速解压的场景来说,lz4非常适合;lz4 解压缩的对象是文件而不是目录。

1)lz4工具安装# yum install -y lz4 lz4-devel

2)lz4解压缩命令格式压缩 (默认解压之后的名称filename.lz4)

# lz4 filename

解压缩

# lz4 -d filename.lz4

centos7下默认有lz4_decompress 命令,可以直接解压, 并可以定义解压后的文件名

# lz4_decompress filename.lz4 filename

# lz4_decompress filename.lz4 filename.txt

3)lz4参数解释

查看帮助

[[email protected]~]# lz4 --help

参数

-1:  快速压缩(默认)

-9:  高压缩

-d:  解压缩(默认为.lz4扩展名)

-z:  强制压缩

-f:  覆盖输出而不提示

-k:  保留源文件(默认)

--rm:  成功地解除/压缩后删除源文件

-h/-h:  显示帮助/长帮助和退出

高级参数

-v:  显示版本号并退出

-v:  详细模式

-q:  取消警告;指定两次也可以取消错误

-c:  强制写入标准输出,即使它是控制台

-t:  测试压缩文件完整性

-m:  多个输入文件(表示自动输出文件名)

-r:  在目录上递归操作(也设置为-m)

-l:  使用旧格式压缩(Linux内核压缩)

4)lz4解压缩示例[[email protected]~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[[email protected]~]# cd /opt/

[[email protected]]# ls

test

[[email protected]]# cat test

haha,hello world!!

1) 对test文件进行压缩

[[email protected]]# lz4 test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test  test.lz4

快速压缩(-1参数),默认的就是快速压缩,如上面那条命令

[[email protected]]# rm -f test.lz4

[[email protected]]# lz4 -1 test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test  test.lz4

高压缩(-9参数)

[[email protected]]# rm -f test.lz4

[[email protected]]# lz4 -9 test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test  test.lz4

当出现同名压缩文件时,直接压缩默认会有是否覆盖的提示信息

[[email protected]]# lz4 -9 test

Compressed filename will be : test.lz4

test.lz4 already exists; do you wish to overwrite (y/N) ? y

Compressed 8 bytes into 27 bytes ==> 337.50%

已存在同名压缩文件时,直接压缩而不输出是否覆盖的提示信息

[[email protected]]# lz4 -9 -f test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test  test.lz4

压缩文件时,保留源文件 (-f 参数),默认压缩后就是保留源文件,所以-f参数加不加都可以

[[email protected]]# rm -f test.lz4

[[email protected]]# lz4 test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test  test.lz4

[[email protected]]# rm -f test.lz4

[[email protected]]# lz4 -f test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test  test.lz4

压缩成功后,将源文件删除 (--rm参数)

[[email protected]]# rm -f test.lz4

[[email protected]]# ls

test

[[email protected]]# lz4 --rm test

Compressed filename will be : test.lz4

Compressed 8 bytes into 27 bytes ==> 337.50%

[[email protected]]# ls

test.lz4

2)对压缩文件进行解压缩

默认通过-d参数进行解压缩

[[email protected]]# ls

test.lz4

[[email protected]]# lz4 -d test.lz4

Decoding file test

test.lz4             : decoded 8 bytes

[[email protected]]# ls

test  test.lz4

[[email protected]]# cat test

haha,hello world!!

也可以使用lz4_decompress命令进行解压缩,并且可以自定义解压缩之后的文件名

[[email protected]]# rm -f test

[[email protected]]# ls

test.lz4

[[email protected]][email protected]压缩,解压缩之后为kevin文件

[[email protected]]# ls

kevin  test.lz4

[[email protected]]# cat kevin

haha,hello world!!

3) 压缩时,取消告警提示信息 (-q参数)

[[email protected]]# rm -f test.lz4

[[email protected]]# ls

kevin

[[email protected]]# lz4 -q kevin

[[email protected]]# ls

kevin  kevin.lz4

[[email protected]]# lz4 -q -f kevin

[[email protected]]# lz4 -q -f --rm kevin

[[email protected]]# ls

kevin.lz4

4)对多个文件进行匹配压缩

[[email protected]]# ls

bobo  kevin

[[email protected]]# lz4 -m bobo kevin

[[email protected]]# ls

bobo  bobo.lz4  kevin  kevin.lz4

[[email protected]]# rm -rf bobo kevin

[[email protected]]# ls

bobo.lz4  kevin.lz4

[[email protected]]# lz4 -d bobo.lz4 -q

[[email protected]]# lz4 -d kevin.lz4 -q

[[email protected]]# ls

bobo  bobo.lz4  kevin  kevin.lz4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值