圧縮は、重要なファイルをバックアップしたり、インターネット経由で大きなファイルを送信したりする場合に非常に便利です。このチュートリアルでは、2つのコマンドラインプログラム、つまり gzip を使用して、Linuxでファイルを圧縮および解凍する方法について説明します。 およびbzip2 。
注:
すでに圧縮されたファイルを圧縮すると、余分なオーバーヘッドが追加されるため、ファイルが少し大きくなります。したがって、圧縮ファイルの圧縮を停止します。
Linuxでファイルを圧縮および解凍
すでに述べたように、LinuxおよびUnixライクなシステムで最も一般的に使用されるプログラムはファイルを圧縮します。
- gzip
- 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でファイルとディレクトリをアーカイブする方法について学習します。 。