Home  >  Article  >  Operation and Maintenance  >  How to use the lz4 command of Linux command

How to use the lz4 command of Linux command

WBOY
WBOYforward
2023-05-11 20:49:135611browse

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

ParameterParameter description
-1Fast compression (default)
-9High compression
-dDecompress (default is .lz4 extension)
-zForce compression
-fOverwrite output without prompting
-kKeep source file (default)
–rmDelete source file after successful decompression/compression
-h/-HShow help /Long help and exit
-VDisplay version number and exit
-v Verbose mode
-qCancel warnings; specifying it twice can also cancel errors
-cForce writing to stdout even if it is the console
-tTest compressed file integrity
- mMultiple input files (indicates automatic output file names)
-rOperation recursively on the directory (also set to -m)
-lUse 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!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete