ホームページ >運用・保守 >Linuxの運用と保守 >Linuxコマンドのlz4コマンドの使い方

Linuxコマンドのlz4コマンドの使い方

WBOY
WBOY転載
2023-05-11 20:49:136318ブラウズ

1. lz4 コマンドの紹介

LZ4 は、特に圧縮率を重視する場合に最適な、超高速の圧縮/解凍速度 (圧縮率は gzip ほどではありません) が特徴の圧縮形式です。現在の環境のCPUリソースが不足する場合は、この形式を検討してください。 lz4 は、バイト アライメントされた LZ77 シリーズ圧縮スキームに基づいた非常に高速な可逆圧縮アルゴリズムです。 lz4 はコアあたり 400 MB/秒の圧縮速度を提供し、マルチコア CPU に比例して拡張します。コアあたり最大数 GB/秒の速度を持つ非常に高速なデコーダーを備えており、マルチコア システムでは RAM の速度制限に達することがよくあります。 lz4 は、前述の lz77 のイデオロギー理論に従い、スライディング ウィンドウ、ハッシュ テーブル、データ エンコーディングなどの操作を通じてデータ圧縮を実現します。圧縮プロセスでは、一致を見つけるためのスキャン ウィンドウとして少なくとも 4 バイトを使用し、スキャンするたびに 1 バイトずつ移動し、重複が見つかった場合は圧縮します。 Centos7には、lz4形式のファイルを圧縮・解凍できるlz4コマンドがデフォルトでインストールされています。

2. コマンド使用例

1. コマンドのバージョン確認

lz4コマンドのインストールバージョンは1.7.5

[root@s76] ~ ]# lz4 -V
*** LZ4 コマンド ライン インターフェイス 64 ビット v1.7.5、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

2927 バイトを 1825 バイトに圧縮 ==> 62.35%

5. 複数のファイルを圧縮

圧縮複数のファイルにはパラメータ -m を使用します。圧縮ファイル名は、ソース ファイルに lz4 接尾辞を加えたものです。 lz4 コマンドは 1 つのファイルしか圧縮できません。複数のファイルを 1 つのファイルに圧縮する必要がある場合は、lz4 コマンドと tar コマンドを併用する必要があります。

[root@s76 ~]# lz4 -m anaconda-ks.cfgoriginal-ks.cfg

[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%

6. ディレクトリの圧縮

lz4 はファイルのみを圧縮できます。ディレクトリを圧縮する必要がある場合は、tar コマンドと組み合わせる必要があります。

[root@s76 ~]# tar cvf - test | lz4 - 1.tar.lz4

test/
test/1.tar
20480 バイトを 325 バイトに圧縮==> 1.59%

Linuxコマンドのlz4コマンドの使い方

7. 圧縮後にソースファイルを削除

[root@s76 ~]# lz4 - - rm hi.txt hi.txt.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

8. lz4 ファイルを解凍します

[root@s76 ~]# lz4 -d こんにちは。 txt.lz4

デコード ファイル 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

9. を解凍して削除します。圧縮ファイル

[root@s76 ~]# lz4 --rm -d hi.txt.lz4

ファイル 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

10. 高圧縮率圧縮

[root@s76 ~]# lz4 -9 hi.txt hi.txt.lz4

5 バイトを 24 バイトに圧縮 ==> 480.00%

11. ファイルを圧縮して上書きします

[root@s76 ~]# lz4 hi.txt.lz4 hi.txt

hi.txt はすでに存在します。上書きしますか (y/ N) ? y
24 バイトを 43 バイトに圧縮 ==> 179.17%
[root@s76 ~]# lz4 -f hi.txt.lz4 hi.txt
24 バイトを 43 バイトに圧縮 = => ; 179.17%

12. ファイルを解凍して出力します

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

13. 解凍速度テスト

22G ファイルの解凍には 5 分 18 秒かかります。解凍後のサイズは45G。

Linuxコマンドのlz4コマンドの使い方

#3. lz4 コマンド構文とパラメーターの説明

1. コマンド形式

#lz4 [arg] [input ] [出力]

2. パラメータの説明

パラメータパラメータの説明-1高速圧縮 (デフォルト)-9高圧縮-d解凍 (デフォルトは .lz4 拡張子) ##-z-f-k–rm-h/-H-V-v#-q警告をキャンセルします。2 回指定するとエラーもキャンセルできます標準出力への書き込みを強制しますコンソールであっても 圧縮ファイルの整合性をテストします複数の入力ファイル (自動出力ファイル名を示します) #-r ディレクトリに対する再帰的な操作 (-m にも設定) -l古い形式の圧縮 (Linux カーネル圧縮) を使用します
強制圧縮
プロンプトを表示せずに出力を上書きします
ソース ファイルを保持します (デフォルト)
解凍/圧縮が成功したらソース ファイルを削除します
ヘルプを表示/長いヘルプを表示して終了します
バージョン番号を表示して終了
詳細モード
#-c
-t
- m

以上がLinuxコマンドのlz4コマンドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。