ホームページ > 運用・保守 > Linuxの運用と保守 > Linuxの圧縮コマンドとは何ですか?

Linuxの圧縮コマンドとは何ですか?

青灯夜游
リリース: 2023-03-01 18:55:23
オリジナル
44170 人が閲覧しました

Linux 圧縮コマンド: 1. tar コマンド、「z」圧縮オプションを追加するだけ、構文は「tar -z 圧縮パッケージ ソース ファイルまたはディレクトリ」です; 2. zip コマンド、圧縮ファイルを作成できます、同時に、元のファイルの整合性が保持され、構文は「zip [オプション] 圧縮パッケージ名ソース ファイルまたはソース ディレクトリ リスト」です。 3. gzip コマンド、構文は「gzip [オプション] ソース」です。 file"; 4. bzip2 コマンド、構文は "bzip2 [オプション] ソース ファイル"; 5. xz コマンド、構文は "xz 圧縮パッケージ名"。

Linuxの圧縮コマンドとは何ですか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux における圧縮とは

圧縮とは、アルゴリズムを使用してファイルを処理し、ファイル サイズを削減しながら最大のファイル情報を保持することを指します。小さくなることが目的。基本原理は、ファイル内で繰り返されるバイトを検索して同じバイトの辞書ファイルを作成し、それをコードで表すことです。

圧縮はアーカイブ ファイルに似ています。圧縮ファイルもファイルとディレクトリのコレクションであり、このコレクションもファイルに保存されます。しかし、それらの違いは、圧縮ファイルが異なる保存方法を使用することです。コレクション内のすべてのファイルの合計サイズよりも少ないディスク容量。

コンピュータで処理される情報はバイナリ形式で表現されるため、圧縮ソフトウェアはバイナリ情報内の同じ文字列を特殊文字でマークし、合理的な数学的計算を行う限り、ファイル容量を削減できます。大幅に圧縮されています。圧縮ソフトウェアを使用して 1 つ以上のファイルを圧縮してファイル圧縮パッケージを形成すると、記憶域スペースが節約され、ネットワーク上での送信が容易になります。

ファイルを圧縮するとファイルの内容が破損する可能性があるため、圧縮は非可逆圧縮と可逆圧縮に分けられます。可逆圧縮は理解しやすく、圧縮データが正確である必要があることを意味しますが、非可逆圧縮は、個々のデータが失われたとしてもファイルに大きな影響を与えないことを意味します。非可逆圧縮は、動画ファイル形式mpeg、音楽ファイル形式mp3、画像ファイル形式jpgなどが代表的なもので、アニメーション、音声、画像ファイルなどで広く使われています。

圧縮ツールを使用してファイルを圧縮すると、生成されたファイルは圧縮パッケージと呼ばれ、通常、ファイルのサイズは元のファイルの半分か、さらに小さくなります。なお、圧縮されたパッケージ内のデータはそのままでは使用できませんので、使用前に圧縮ツールを使用してファイルデータを復元する必要があります(解凍とも呼ばれます)。

Linux 圧縮コマンド

gzip、zip、bzip2 など、一般的に使用される圧縮コマンドが多数あります。

tar 圧縮コマンド

tar コマンドは、特殊な圧縮コマンドではありません。これは、別のシステムに簡単に転送できるように複数のファイルを 1 つのファイルにまとめたり、ファイルを関連グループとしてバックアップしたりするためによく使用されます。また、これは当然のことですが、圧縮機能も提供しており、z 圧縮オプションを追加するとファイルを圧縮できます。

z オプションを使用して圧縮プロセスを tar コマンドに付加する場合、tar は圧縮に gzip を使用します。

ファイルのグループを圧縮するのと同じように、tar を使用して個々のファイルを圧縮できますが、この操作には gzip を直接使用する場合に比べて特別な利点はありません。 tar でこれを行うには、次のように tar cfz newtarfile filename コマンドを使用して、ファイルのグループを指定するのと同じように、圧縮するファイルを特定します。 #

$ tar cfz bigfile.tgz bigfile
            ^            ^
            |            |
            +- 新的文件  +- 将被压缩的文件

$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 103270400 Apr 16 16:09 bigfile
-rw-rw-r-- 1 shs shs 21608325 Apr 16 16:08 bigfile.tgz
ログイン後にコピー

ファイル サイズが大幅に減少することに注意してください。

必要に応じて、

tar.gz

拡張子を使用することもできます。これにより、ファイルの特徴がより明確になる可能性がありますが、ほとんどの Linux ユーザーは、## と同じであることに気付くでしょう。 #tgz は同じことを意味します。ファイルが圧縮 tar ファイルであることを示す targz の組み合わせです。圧縮が完了すると、元のファイルと圧縮されたファイルの両方が取得されます。 多くのファイルをまとめて 1 つのコマンドで「tar ボール」に圧縮するには、同じ構文を使用しますが、含めるファイルを個別のファイルではなくグループとして指定します。以下に例を示します。

$ tar cfz bin.tgz bin/*
          ^         ^
          |         +-- 将被包含的文件
          + 新的文件
ログイン後にコピー

zip 圧縮コマンド

zip

コマンドは、ファイルの整合性を維持しながら圧縮ファイルを作成します。元の書類。構文は

tar を使用するのと同じくらい簡単ですが、元のファイル名がコマンド ラインの最後の引数である必要があることを覚えておく必要があります。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">$ zip ./bigfile.zip bigfile updating: bigfile (deflated 79%) $ ls -l bigfile bigfile.zip -rw-rw-r-- 1 shs shs 103270400 Apr 16 11:18 bigfile -rw-rw-r-- 1 shs shs 21606889 Apr 16 11:19 bigfile.zip</pre><div class="contentsignin">ログイン後にコピー</div></div>

gzip 圧縮コマンド

gzip

コマンドは非常に簡単に使用できます。

gzip と入力し、その後に圧縮するファイルの名前を入力するだけです。上で説明したコマンドとは異なり、gzip はファイルを「インプレース」で「暗号化」します。つまり、元のファイルは「暗号化された」ファイルに置き換えられます。 うわー

bzip2压缩命令

像使用 gzip 命令一样,bzip2 将在你选择的文件“就地”压缩,不留下原始文件。

$ bzip bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs  18115234 Apr 15 17:57 bigfile.bz2
ログイン後にコピー

xz压缩命令

xz 是压缩命令团队中的一个相对较新的成员,在压缩文件的能力方面,它是一个领跑者。像先前的两个命令一样,你只需要将文件名称提供给命令。再强调一次,原始文件被就地压缩。

$ xz bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 13427236 Apr 15 17:30 bigfile.xz
ログイン後にコピー

对于大文件来说,你可能会注意到 xz 将比其它的压缩命令花费更多的运行时间,但是压缩的结果却是非常令人赞叹的。

压缩命令对比

大多数人都听说过“大小不是一切”。所以,让我们比较一下文件大小以及一些当你计划如何压缩文件时的问题。

下面显示的统计数据都与压缩单个文件相关,在上面显示的示例中使用 bigfile。这个文件是一个大的且相当随机的文本文件。压缩率在一定程度上取决于文件的内容。

  • 大小减缩率

当比较时,上面显示的各种压缩命产生下面的结果。百分比表示压缩文件与原始文件的比较效果。

-rw-rw-r-- 1 shs shs 103270400 Apr 16 14:01 bigfile
------------------------------------------------------
-rw-rw-r-- 1 shs shs 18115234 Apr 16 13:59 bigfile.bz2    ~17%
-rw-rw-r-- 1 shs shs 21606751 Apr 16 14:00 bigfile.gz     ~21%
-rw-rw-r-- 1 shs shs 21608322 Apr 16 13:59 bigfile.tgz    ~21%
-rw-rw-r-- 1 shs shs 13427236 Apr 16 14:00 bigfile.xz     ~13%
-rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip    ~21%
ログイン後にコピー

xz 命令获胜,最终只有压缩文件 13% 的大小,但是所有这些压缩命令都相当显著地减少原始文件的大小。

  • 是否替换原始文件

bzip2gzipxz 命令都用压缩文件替换原始文件。tarzip 命令不替换。

  • 运行时间

xz 命令似乎比其它命令需要花费更多的时间来“加密”文件。对于 bigfile 来说,大概的时间是:

命令      运行时间
tar       4.9 秒
zip       5.2 秒
bzip2    22.8 秒
gzip      4.8 秒
xz       50.4 秒
ログイン後にコピー

解压缩文件很可能比压缩时间要短得多。

  • 文件权限

不管你对压缩文件设置什么权限,压缩文件的权限将基于你的 umask 设置,但 bzip2 除外,它保留了原始文件的权限。

  • 与 Windows 的兼容性

zip 命令创建的文件可以在 Windows 系统以及 Linux 和其他 Unix 系统上使用(即解压),而无需安装其他工具,无论这些工具可能是可用还是不可用的。

相关推荐:《Linux视频教程

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート