LZ4 は、特に圧縮率を重視する場合に最適な、超高速の圧縮/解凍速度 (圧縮率は gzip ほどではありません) が特徴の圧縮形式です。現在の環境のCPUリソースが不足する場合は、この形式を検討してください。 lz4 は、バイト アライメントされた LZ77 シリーズ圧縮スキームに基づいた非常に高速な可逆圧縮アルゴリズムです。 lz4 はコアあたり 400 MB/秒の圧縮速度を提供し、マルチコア CPU に比例して拡張します。コアあたり最大数 GB/秒の速度を持つ非常に高速なデコーダーを備えており、マルチコア システムでは RAM の速度制限に達することがよくあります。 lz4 は、前述の lz77 のイデオロギー理論に従い、スライディング ウィンドウ、ハッシュ テーブル、データ エンコーディングなどの操作を通じてデータ圧縮を実現します。圧縮プロセスでは、一致を見つけるためのスキャン ウィンドウとして少なくとも 4 バイトを使用し、スキャンするたびに 1 バイトずつ移動し、重複が見つかった場合は圧縮します。 Centos7には、lz4形式のファイルを圧縮・解凍できるlz4コマンドがデフォルトでインストールされています。
lz4コマンドのインストールバージョンは1.7.5
[root@s76] ~ ]# lz4 -V
*** LZ4 コマンド ライン インターフェイス 64 ビット v1.7.5、Yann Collet 作成 ***
毎日lz4 コマンドの構文形式を忘れた場合は、lz4 --help または man lz4 コマンドを通じて lz4 コマンドのヘルプ情報を取得できます。
#[root@s76 ~]# lz4 --help3. コマンドのインストールcentos7 にはデフォルトで lz4 コマンドがインストールされていますが、インストールされていない場合は、yum インストール方法を使用してインストールできます。[root@s76 ~]# man lz4
[root@s76 ~]# yum install -y lz4 lz4-devel4. 単一ファイルを圧縮します
[root @ s76 ~]# lz4 anaconda-ks.cfg test.lz45. 複数のファイルを圧縮圧縮複数のファイルにはパラメータ -m を使用します。圧縮ファイル名は、ソース ファイルに lz4 接尾辞を加えたものです。 lz4 コマンドは 1 つのファイルしか圧縮できません。複数のファイルを 1 つのファイルに圧縮する必要がある場合は、lz4 コマンドと tar コマンドを併用する必要があります。2927 バイトを 1825 バイトに圧縮 ==> 62.35%
[root@s76 ~]# lz4 -m anaconda-ks.cfgoriginal-ks.cfg6. ディレクトリの圧縮lz4 はファイルのみを圧縮できます。ディレクトリを圧縮する必要がある場合は、tar コマンドと組み合わせる必要があります。[root@s76 ~]# ll
合計 16
-rw -------. 1 ルート root 2927 Feb 8 15:19 anaconda-ks.cfg
-rw------. 1 ルート root 1825 Feb 8 15:19 anaconda-ks.cfg. lz4
-rw------. 1 ルート root 2045 2 月 8 日 15:19original-ks.cfg
-rw------. 1 ルート root 1216 2 月 8 日 15:19 original-ks.cfg.lz4
[root@s76 ~]# tar -cvf anaconda-ks.cfgoriginal-ks.cfg |lz4 - 2.tar.lz4
16 バイトを 35 バイトに圧縮 ==> ; 218.75%
[root@s76 ~]# tar cvf - test | lz4 - 1.tar.lz47. 圧縮後にソースファイルを削除test/
test/1.tar
20480 バイトを 325 バイトに圧縮==> 1.59%
[root@s76 ~]# lz4 - - rm hi.txt hi.txt.lz48. lz4 ファイルを解凍します5 バイトを 24 バイトに圧縮 ==> 480.00%
[root@s76 ~]# ll
合計 24
-rw-r–r&ndash ; . 1 ルート root 325 Feb 12 20:57 1.tar.lz4
-rw----------.1 ルート root 10240 Feb 12 20:40 anaconda-ks.cfg
-rw-r&ndash ; r–. 1 root root 24 Feb 12 21:01 hi.txt.lz4
-rw--------. 1 root root 2045 Feb 8 15:19original-ks.cfg
drwxr- xr -x. 2 root root 19 Feb 12 20:38 test
[root@s76 ~]# lz4 -d こんにちは。 txt.lz49. を解凍して削除します。圧縮ファイルデコード ファイル hi.txt
hi.txt.lz4 : デコードされた 5 バイト
[root@s76 ~]# ll
合計 28
-rw-r–r–。 1 ルート root 325 2 月 12 日 20:57 1.tar.lz4
-rw----------.1 ルート root 10240 2 月 12 日 20:40 anaconda-ks.cfg
-rw-r–r&ndash ;. 1 ルート 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
[root@s76 ~]# lz4 --rm -d hi.txt.lz410. 高圧縮率圧縮ファイル hi.txt
hi.txt.lz4 のデコード : デコードされた 5 バイト
[ root@s76 ~]# ll
total 24
-rw-r–r–. 1 root root 325 Feb 12 20:57 1.tar.lz4
-rw----- --. 1 ルート root 10240 Feb 12 20:40 anaconda-ks.cfg
-rw-r–r–. 1 ルート root 5 Feb 12 21:01 hi.txt
-rw----- -. 1 root root 2045 Feb 8 15:19original-ks.cfg
drwxr-xr-x. 2 root root 19 Feb 12 20:38 test
[root@s76 ~]# lz4 -9 hi.txt hi.txt.lz411. ファイルを圧縮して上書きします5 バイトを 24 バイトに圧縮 ==> 480.00%
[root@s76 ~]# lz4 hi.txt.lz4 hi.txthi.txt はすでに存在します。上書きしますか (y/ N) ? y
24 バイトを 43 バイトに圧縮 ==> 179.17%
[root@s76 ~]# lz4 -f hi.txt.lz4 hi.txt
24 バイトを 43 バイトに圧縮 = => ; 179.17%
[root@s76 ~]# cat hi.txt
hi,wuhs
[root@s76 ~]# lz4 - dc hi.txt.lz4
hi,wuhs
22G ファイルの解凍には 5 分 18 秒かかります。解凍後のサイズは45G。
#3. lz4 コマンド構文とパラメーターの説明1. コマンド形式#lz4 [arg] [input ] [出力]2. パラメータの説明
パラメータの説明 | |
---|---|
高速圧縮 (デフォルト) | |
高圧縮 | |
解凍 (デフォルトは .lz4 拡張子) | |
強制圧縮 | |
プロンプトを表示せずに出力を上書きします | |
ソース ファイルを保持します (デフォルト) | |
解凍/圧縮が成功したらソース ファイルを削除します | |
ヘルプを表示/長いヘルプを表示して終了します | |
バージョン番号を表示して終了 | |
詳細モード | #-q |
#-c | |
-t | |
- m | |
#-r | ディレクトリに対する再帰的な操作 (-m にも設定) |
-l | 古い形式の圧縮 (Linux カーネル圧縮) を使用します |
以上がLinuxコマンドのlz4コマンドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。