Infra Engineer

ファイルの圧縮に関するコマンド
2022.10.31
Lv1

ファイルの圧縮に関するコマンド

この記事を読んでほしいひと

LPIC level1習得を目ざす、初学者のかたへ。
コマンドの基本的な使い方について、解説をします。


今回の内容

今回は、ファイルの圧縮に関するコマンドについて解説します。
ファイルの圧縮をおこなうコマンドには、gzipコマンド、bzip2コマンド、xzコマンドがあります。それぞれのコマンドの特徴についておさえてくださいね。それでは解説をはじめていきましょう。

・gzipコマンド
・bzip2コマンド
・xzコマンド
・まとめ
・確認問題

gzipコマンド

gzipコマンドとは、バックアップの目的などからファイルを圧縮するためのコマンドとしてよく用いられています。gzipで圧縮されたファイルの拡張子は、.gzとなります。

gzipコマンドの書式
 gzip  <オプション>  <ファイル名>

gzipコマンドで用いられる主なオプションには以下のものがあります。

オプション 意味
-c 標準出力へ出力する。
-r ディレクトリ内のファイルをすべて圧縮する

それでは実際にgzipコマンドを使用してみましょう。Documentsディレクトリには、sak1.txtが存在します。gzipコマンドにより圧縮してみましょう。

[root@localhost Documents]# ls
sak1.txt
[root@localhost Documents]# gzip sak1.txt
[root@localhost Documents]# ls
sak1.txt.gz

ファイルsak1.txtを圧縮した結果、圧縮されたファイルはsak1.txt.gzとなり、元のファイルは削除されました。lsコマンドでsak1.txtが表示されていないことを確認してください。もし圧縮前のファイルも残しておきたい場合は、-cオプションを使用して標準出力へ出力したものをリダイレクトを使用して保存します。いまDocumentsディレクトリ下にはsak1.txt.gzとsak2.txtが存在し、sak2.txtを圧縮後も残しておきたいとします。sak2.txtの圧縮ファイルをsak2.gzとします。

[root@localhost Documents]# ls
sak1.txt.gz sak2.txt
[root@localhost Documents]# gzip -c sak2.txt &amp;amp;amp;amp;amp;gt; sak2.gz
[root@localhost Documents]# ls
sak1.txt.gz sak2.txt sak2.gz

lsコマンドにより、Documentsディレクトリ下にsak2.txtが残っていることがかくにんできました。リダイレクトを使用せず「gzip -c sak2.txt」を実行した場合、標準出力へ出力するだけなのでディスプレイ上に文字化けした文字が表示されます。この文字化けした文字は「cat sak.gz」でディスプレイ上に出力されるものと同じになります。


bzip2コマンド

bzip2コマンドとは、gzipコマンドと同様にファイルの圧縮がおこなえます。gzipよりも圧縮効率は高いものの、処理に時間がかかります。bzip2コマンドで圧縮されたファイルの拡張子は、.bz2となります。

bzip2コマンドの書式
 bzip2  <オプション>  <ファイル名>

bzip2コマンドで用いられる主なオプションには以下のものがあります。

オプション 意味
-c 標準出力へ出力する。

それでは実際にbzip2コマンドを使用してみましょう。Documentsディレクトリには、sak3.txtが存在します。bizp2コマンドにより圧縮してみましょう。

[root@localhost Documents]# ls
sak3.txt
[root@localhost Documents]# bzip sak3.txt
[root@localhost Documents]# ls
sak3.txt.bz

ファイルsak3.txtを圧縮した結果、圧縮されたファイルはsak3.txt.bzとなり、元のファイルは削除されました。lsコマンドでsak3.txtが表示されていないことを確認してください。もし圧縮前のファイルも残しておきたい場合は、-cオプションを使用して標準出力へ出力したものをリダイレクトを使用して保存します。


xzコマンド

xzコマンドとは、gzipコマンドと同様にファイルの圧縮がおこなえます。bzip2よりも圧縮効率はさらに高いものの、処理の時間はさらにかかります。xzコマンドで圧縮されたファイルの拡張子は、.xzとなります。

xzコマンドの書式
 xz  <オプション>  <ファイル名>

bzip2コマンドで用いられる主なオプションには以下のものがあります。

オプション 意味
-k 圧縮後に元のファイルを削除しない。

それでは実際にxzコマンドを使用してみましょう。Documentsディレクトリには、sak4.txtが存在します。xzコマンドにより圧縮してみましょう。

[root@localhost Documents]# ls
sak4.txt
[root@localhost Documents]# xz sak4.txt
[root@localhost Documents]# ls
sak4.txt.xz

ファイルsak4.txtを圧縮した結果、圧縮されたファイルはsak4.txt.xzとなり、元のファイルは削除されました。lsコマンドでsak4.txtが表示されていないことを確認してください。もし圧縮前のファイルも残しておきたい場合は、-kオプションを使用します。


まとめ

今回は、ファイルの圧縮に関するコマンドついて解説しました。gzipコマンド、bzip2コマンド、xzコマンドの特徴をそれぞれおおさえてくださいね。
最後に確認問題で、今回の記事の知識を復習してみましょう。


確認問題

問題

Documentsディレクトリ下に、SIEディレクトリが存在する。SIEディレクトリには、sak1.txt、sak2.txtが存在する。「gzip -r SIE」とgzipコマンドと-rオプションを使用して、SIEディレクトリ下のファイルをすべて圧縮した。この場合、「ls /root/Documents/SIE」と実行した場合には、どのような結果が表示されるか。

解答
答え:sak1.txt.gz sak2.txt.gz
解説:

[bash] [root@localhost Documents]# ls
SIE
[root@localhost Documents]# ls /root/Documents/SIE
sak1.txt sak2.txt
[root@localhost Documents]# gzip -r SIE
[root@localhost Documents]# ls /root/Documents/SIE
sak1.txt.gz sak2.txt.gz
[/bash]