GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでファイルを圧縮および解凍する方法

圧縮は、重要なファイルをバックアップしたり、インターネット経由で大きなファイルを送信したりする場合に非常に便利です。このチュートリアルでは、2つのコマンドラインプログラム、つまり gzip を使用して、Linuxでファイルを圧縮および解凍する方法について説明します。 およびbzip2

注:

すでに圧縮されたファイルを圧縮すると、余分なオーバーヘッドが追加されるため、ファイルが少し大きくなります。したがって、圧縮ファイルの圧縮を停止します。

Linuxでファイルを圧縮および解凍

すでに述べたように、LinuxおよびUnixライクなシステムで最も一般的に使用されるプログラムはファイルを圧縮します。

  1. gzip
  2. bzip2

まず、Gzipの使い方を見ていきます。

1。 Gzipプログラムを使用してファイルを圧縮および解凍します

gzipは、Lempel-Zivコーディング(LZ77)アルゴリズムを使用してファイルを圧縮および解凍するユーティリティです。

1.1ファイルの圧縮

ostechnix.txtという名前のファイルを圧縮するには 、gzipで圧縮されたバージョンに置き換えて、次のコマンドを実行します:

$ gzip ostechnix.txt

Gzipは元のファイルostechnix.txtを置き換えます ostechnix.txt.gzという名前のgzip圧縮されたバージョンを使用 。

gzipコマンドは他の方法でも使用できます。良い例の1つは、特定のコマンドの出力の圧縮バージョンを作成できることです。次のコマンドを見てください。

$ ls -l Downloads/ | gzip > ostechnix.txt.gz

上記のコマンドは、ダウンロードフォルダのディレクトリリストの圧縮バージョンを作成します。

1.2ファイルを圧縮し、出力を別のファイルに書き込みます(元のファイルを置き換えないでください)

デフォルトでは、gzipプログラムは指定されたファイルを圧縮し、gzip圧縮されたバージョンに置き換えます。ただし、元のファイルを保持して、出力を標準出力に書き込むことはできます。たとえば、次のコマンドは ostechnix.txtを圧縮します 出力をoutput.txt.gzに書き込みます 。

$ gzip -c ostechnix.txt > output.txt.gz

同様に、出力ファイル名を指定してgzip圧縮されたファイルを解凍するには:

$ gzip -c -d output.txt.gz > ostechnix1.txt

上記のコマンドは、 output.txt.gzを解凍します ファイルを作成し、出力を ostechnix1.txtに書き込みます ファイル。どちらの場合も、元のファイルは削除されません。

1.3ファイルの解凍

ファイルを解凍するにはostechnix.txt.gz 、元の非圧縮バージョンに置き換えると、次のようになります。

$ gzip -d ostechnix.txt.gz

また、gunzipを使用してファイルを解凍することもできます。

$ gunzip ostechnix.txt.gz

1.4圧縮ファイルを解凍せずに表示する

解凍せずにgzipを使用して圧縮ファイルの内容を表示するには、 -cを使用します 以下に示すフラグ:

$ gunzip -c ostechnix1.txt.gz

または、 zcatを使用します 以下のようなユーティリティ。

$ zcat ostechnix.txt.gz

出力を「less」コマンドにパイプして、以下のようにページごとに出力を表示することもできます。

$ gunzip -c ostechnix1.txt.gz | less
$ zcat ostechnix.txt.gz | less

または、 zlessがあります 上記のパイプラインと同じ機能を実行するプログラム。

$ zless ostechnix1.txt.gz

1.5圧縮レベルを指定してgzipでファイルを圧縮する

gzipのもう1つの注目すべき利点は、圧縮レベルをサポートしていることです。以下に示すように、3つの圧縮レベルをサポートします。

  • 1 -最速(最悪)
  • 9 -最も遅い(最高)
  • 6 -デフォルトレベル

ostechnix.txtという名前のファイルを圧縮するには 、最高のgzip圧縮されたバージョンに置き換えます 圧縮レベル、使用するもの:

$ gzip -9 ostechnix.txt

1.6複数の圧縮ファイルを連結する

複数の圧縮ファイルを1つに連結することもできます。どのように?次の例を見てください。

$ gzip -c ostechnix1.txt > output.txt.gz
$ gzip -c ostechnix2.txt >> output.txt.gz

上記の2つのコマンドは、ostechnix1.txtとostechnix2.txtを圧縮し、 output.txt.gzという名前の1つのファイルに保存します。 。

次のコマンドのいずれかを使用して、両方のファイル(ostechnix1.txtおよびostechnix2.txt)を抽出せずに、それらの内容を表示できます。

$ gunzip -c output.txt.gz
$ gunzip -c output.txt
$ zcat output.txt.gz
$ zcat output.txt

詳細については、manページを参照してください。

$ man gzip

2。 bzip2プログラムを使用してファイルを圧縮および解凍します

bzip2 gzipプログラムに非常に似ていますが、Burrows-Wheelerブロックソートテキスト圧縮アルゴリズムと呼ばれる異なる圧縮アルゴリズムとハフマンコーディングを使用します。 bzip2を使用して圧縮されたファイルは、 .bz2で終わります。 拡張機能。

私が言ったように、bzip2の使用法はgzipとほとんど同じです。 gzipを置き換えるだけです 上記の例では、 bzip2 gunzip bunzip2を使用 、 zcat bzcatを使用 など。

bzip2を使用してファイルを圧縮し、圧縮バージョンに置き換えるには、次のコマンドを実行します。

$ bzip2 ostechnix.txt

元のファイルを置き換えたくない場合は、 -cを使用します フラグを立てて、出力を新しいファイルに書き込みます。

$ bzip2 -c ostechnix.txt > output.txt.bz2

圧縮ファイルを解凍するには:

$ bzip2 -d ostechnix.txt.bz2

または、

$ bunzip2 ostechnix.txt.bz2

圧縮ファイルを解凍せずに表示するには:

$ bunzip2 -c ostechnix.txt.bz2

または、

$ bzcat ostechnix.txt.bz2

詳細については、manページを参照してください。

$ man bzip2

推奨される読み物:

  • Pigz-Linuxでファイルを並行して圧縮および解凍

概要

このチュートリアルでは、gzipおよびbzip2プログラムとは何か、およびそれらを使用してファイルを圧縮および解凍する方法を、GNU/Linuxのいくつかの例で学習しました。次のガイドでは、Linuxでファイルとディレクトリをアーカイブする方法について学習します。 。


Linux
  1. Linuxでファイルを圧縮および解凍する方法

  2. Linuxでtarコマンドを使用してファイルを圧縮および抽出する方法は?

  3. Linux および Unix でファイルをコピーする方法10 cp コマンドの例

  1. Linuxでファイルとディレクトリを圧縮する方法(例付き)

  2. Linux で gzip と bzip2 を使用してファイルとディレクトリを圧縮および抽出する方法

  3. bzip2 コマンドを使用して Linux で .bz2 ファイルを圧縮および解凍する方法

  1. Linuxで2つのテキストファイルを結合する方法

  2. Linuxでのtarコマンド(ファイルの圧縮と解凍)

  3. Linuxでファイルをアーカイブおよび圧縮する方法