How to use the lz4 command of Linux command

WBOY
Release: 2023-05-11 20:49:13
forward
6117 people have browsed it

1. Introduction to the lz4 command

LZ4 is a compression format, characterized by ultra-fast compression/decompression speed (the compression rate is not as good as gzip), if you particularly care about the compression speed, or the CPU resources of the current environment In case of shortage, you may consider this format. lz4 is a very fast lossless compression algorithm based on the byte-aligned LZ77 series compression scheme. lz4 offers compression speeds of 400 MB/s per core, which scales linearly with multi-core CPUs. It features extremely fast decoders with speeds of up to multiple GB/s per core, often hitting RAM speed limits on multi-core systems. lz4 follows the lz77 ideological theory mentioned above and achieves data compression through operations such as sliding windows, hash tables, and data encoding. The compression process uses at least 4 bytes as the scanning window to find matches, moving 1 byte each time for scanning, and compressing if duplicates are encountered. Centos7 has the lz4 command installed by default, which can compress and decompress lz4 format files.

2. Command usage examples

1. Check the command version

lz4 command installation version is 1.7.5

[root@s76 ~ ]# lz4 -V
*** LZ4 command line interface 64-bits v1.7.5, by Yann Collet ***

2. Get command help

daily use If you forget the lz4 command syntax format, we can get the help information of the lz4 command through lz4 --help or man lz4 command.

[root@s76 ~]# lz4 --help
[root@s76 ~]# man lz4

3. Command installation

centos7 has the lz4 command installed by default. If it is not installed, you can use the yum installation method to install it.

[root@s76 ~]# yum install -y lz4 lz4-devel

4. Compress a single file

[root@ s76 ~]# lz4 anaconda-ks.cfg test.lz4
Compressed 2927 bytes into 1825 bytes ==> 62.35%

5. Compress multiple files

Compression Use the parameter -m for multiple files. The compressed file name is the source file plus the lz4 suffix. The lz4 command can only compress a single file. If we need to compress multiple files into one file, we need to use the lz4 and tar commands together.

[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. Compress directory

lz4 can only compress files. If you need to compress the directory, you need to combine it with the tar command.

[root@s76 ~]# tar cvf - test | lz4 - 1.tar.lz4
test/
test/1.tar
Compressed 20480 bytes into 325 bytes ==> 1.59%

How to use the lz4 command of Linux command

7. Delete the source file after compression

[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. Unzip the lz4 file

[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. Unzip and delete the compressed file

[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. High compression ratio compression

[root@s76 ~]# lz4 -9 hi.txt hi.txt.lz4
Compressed 5 bytes into 24 bytes ==> 480.00%

11. Compress and overwrite the file

[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. Unzip and output the file

[root@s76 ~]# cat hi.txt
hi,wuhs
[root@s76 ~]# lz4 - dc hi.txt.lz4
hi,wuhs

13. Decompression speed test

It takes 5 minutes and 18 seconds to decompress a 22G file. The decompressed size is 45G.

How to use the lz4 command of Linux command

3. lz4 command syntax and parameter description

1. Command format

#lz4 [arg] [input ] [output]

2. Parameter description

Parameter Parameter description
-1 Fast compression (default)
-9 High compression
-d Decompress (default is .lz4 extension)
-z Force compression
-f Overwrite output without prompting
-k Keep source file (default)
–rm Delete source file after successful decompression/compression
-h/-H Show help /Long help and exit
-V Display version number and exit
-v Verbose mode
-q Cancel warnings; specifying it twice can also cancel errors
-c Force writing to stdout even if it is the console
-t Test compressed file integrity
- m Multiple input files (indicates automatic output file names)
-r Operation recursively on the directory (also set to -m)
-l Use old format compression (Linux kernel compression)

The above is the detailed content of How to use the lz4 command of Linux command. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template