ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

データを扱う上で、「より多く」「より速く」は常に私たちが求めるものです。しかし問題は、この2つは通常トレードオフの関係にあるということ。そこで活躍するのがファイル圧縮です。Linuxにはファイルを圧縮・解凍する方法がいくつも用意されており、本記事ではそれぞれの方法を詳しく解説します。

ほぼすべてのLinuxディストリビューション(いわゆる「distro」)には、複数の圧縮ツールが標準で組み込まれています。中でも最も人気があるのがZipでしょう。Zipユーティリティは、GUI(グラフィカルユーザーインターフェース)でもターミナルでも使用できます。

LinuxのGUIでZip圧縮する

  1. 圧縮したいファイルがある場所に移動し、対象ファイルを選択します。次に右クリックして「圧縮(Compress)」を選択します。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法
  1. zipアーカイブの名前を入力します。なお、他の圧縮形式を選択できる場合もあります。この選択肢はディストリビューションによって異なることがあります。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法
  1. しばらくするとzipアーカイブが作成されます。アーカイブのサイズが、格納したファイルの合計サイズより大幅に小さくなっていることに注目してください。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

LinuxのGUIで解凍する

  1. 解凍したいzipアーカイブを見つけて右クリックし、「ここに展開(Extract Here)」または「指定先に展開(Extract to…)」を選択します。「ここに展開」は現在のディレクトリに内容を展開し、「指定先に展開」では別の場所を指定して展開できます。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

ファイルが展開されました。各ファイルが元の100MBのフルサイズに戻っていることを確認してください。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

アーカイブマネージャーを使ってGUIで解凍する

一部のLinuxディストリビューションには、解凍のための別の手段が組み込まれています。この例では「アーカイブマネージャー(Archive Manager)」を使用します。

  1. アーカイブを右クリックし、「アーカイブマネージャーで開く(Open With Archive Manager)」を選択します。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法
  1. 展開したいファイルをシングルクリックで選択します。1つだけでも、複数でも、すべてでも選択可能です。その後、左上の「展開(Extract)」を選択します。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法
  1. ここでファイルマネージャーを使って展開先を選択できます。選択したら、右上の「展開(Extract)」をクリックします。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法
  1. 展開が完了したら、そのまま作業を続けるか、「ファイルを表示(Show the Files)」を選択して結果を確認しましょう。
Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

ファイルは元のフルサイズに戻ります。アーカイブ内にはコピーが残ったままです。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

LinuxターミナルでZip圧縮する

ターミナルを開き、圧縮したいファイルがあるディレクトリに移動します。次のコマンドを入力してください。zip ziptest.zip *

zipはLinuxにzipユーティリティを使うよう指示し、ziptest.zipは作成するアーカイブの名前、アスタリスク(*)はワイルドカードで「このディレクトリ内のすべてのファイルを圧縮する」という意味になります。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法 Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

コマンド実行後、ファイルが圧縮され、一覧とともにどれだけ圧縮(deflated)されたかが表示されます。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

zipコマンドには多くのオプションがあります。それらを確認するにはzip –helpと入力してみましょう。以下のような画面が表示されます。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Linuxターミナルで解凍する

ターミナルでunzip ziptest.zipというコマンドを使用します。unzipがコマンド名で、ziptest.zipが解凍対象のアーカイブ名です。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

解凍中のファイルが表示されるので、完了のタイミングがひと目でわかります。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

zipコマンドと同様に、unzipコマンドにも多くのオプションがあります。確認するにはunzip –helpと入力してください。以下のような画面が表示されます。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Bzip2でファイルを圧縮・解凍する

Bzip2も、ほとんどのLinuxディストリビューションに標準搭載されている圧縮ユーティリティです。大きな違いは、bzip2は複数のファイルを1つのアーカイブにまとめられない点にあります。各ファイルごとに個別の圧縮アーカイブが作成されます。

Bzip2でファイルを圧縮する

bzip2 -kv9 testfile1.txt testfile2.txtというコマンドを入力します。bzip2がコマンド本体です。

-kv9オプションの内訳は以下の通りです。kは元ファイルをkeep(保持)すること、vは処理内容を可視化するverbose(詳細出力)、9は最高レベルの圧縮率を意味します。圧縮レベルは1〜9の間で選択でき、レベルが高いほど圧縮にかかる時間は長くなります。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

出力される情報はzipよりも詳細ですが、最終的な結果はほぼ同じです。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Bzip2でファイルを解凍する

bzip2 -kvd testfile1.txt.bz2 testfile2.txt.bz2というコマンドを入力します。-kvdオプションの内訳は、kがアーカイブをkeep(保持)、vがverbose(詳細出力)、dがdecompress(解凍)です。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

ファイルが解凍されていく様子が表示され、完了したことも確認できます。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

bzip2のオプションを確認するにはbzip2 –helpと入力してください。以下のような画面が表示されます。重要でないファイルで各オプションを試して、挙動を確かめてみるのも良い勉強になります。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Gzipでファイルを圧縮・解凍する

Gzipは、主要ディストリビューションのほとんどに含まれる定番圧縮ユーティリティの最後のひとつです。オプションの数はbzip2zipより少ないシンプルさですが、圧縮品質はほぼ同等です。

Gzipでファイルを圧縮する

gzip -kv9 testfile1.txt testfile2.txtというコマンドを入力します。-kv9オプションの内訳は、kがファイルをkeep(保持)、vがverbose(詳細出力)、9が1〜9の中で最高の圧縮レベルです。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

詳細出力が示すように、gzipは他の圧縮方法とほぼ同等の性能を発揮します。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Gzipでファイルを解凍する

gzipアーカイブの解凍方法は2つあります。ひとつはgzipコマンドを使う方法、もうひとつはgunzipコマンドを使う方法です。

gzipコマンドの場合は、gzip -kvd testfile1.txt.gz testfile2.txt.gzを使用します。dオプションがdecompress(解凍)を意味している点に注目してください。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

gunzipコマンドの場合は、gunzip testfile1.txt.gz testfile2.txt.gzを使用します。gunzipとの唯一の違いは、基本的な解凍にオプションが不要という点です。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Tarでファイルを圧縮・解凍するには?

なぜtarについてまだ触れてこなかったのでしょうか?それはtarが厳密には「アーカイブツール」だからです。tarは多数のファイルを1つのアーカイブにまとめて持ち運びやすくするものであり、元のファイルサイズがどうであれ、tarファイルのサイズはほぼ変わりません。

しかし、tarにzip系の圧縮を組み合わせると、非常に強力なことが実現できます。きちんと圧縮された単一パッケージが手に入るのです。

他の圧縮方法をファイル群のあるディレクトリに対して使うと、ディレクトリ内の各ファイルごとに個別の圧縮アーカイブが作られます。一方、tarにgzipオプションを付けて使えば、すべてをまとめて圧縮し、1つのアーカイブを作成できます。

Tar+Gzipでファイルを圧縮する

tar -czvf Documents.tgz Documentsというコマンドを入力します。

-czvfオプションの内訳は以下の通りです。cは新しいアーカイブをcreate(作成)、zはgzipで圧縮、vverbose(詳細出力)、ffile=archive(ファイル構造を維持したままアーカイブ化)を意味します。

新しいアーカイブには名前が必要で、この例ではDocuments.tgzです。.tgzという拡張子を使えば、これがgzipで圧縮されたtarアーカイブだと他の人にも伝わります。最後のDocumentsは、アーカイブして圧縮する対象のディレクトリです。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

出力は以下のようになります。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

ファイルマネージャーで見ると、tarアーカイブが作成され、圧縮されていることが確認できます。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

Tar+Gzipでファイルを解凍する

gzipで圧縮されたtarアーカイブを解凍するには、同じtarコマンドを少し違うオプションで使います。

tar -xzvf Documents.tgz Documentsというコマンドを入力します。

-xzvfオプションの内訳は、xがextract(展開)、zはgzipで解凍、vは処理を目視できるようにするverbose、fはfile=archiveでファイル構造を維持することを意味します。Documents.tgzが展開・解凍するアーカイブで、Documentsは内容を展開したいディレクトリです。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

結果は下の画像の通りです。2つのファイルはフルサイズに戻り、Documentsディレクトリに配置されています。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

tarのオプションを確認するにはtar –helpと入力してください。数ページにわたるオプション一覧が表示されます。gzip以外にもさまざまな圧縮方式が利用できるので、好みのものを選べます。

あまり知られていないLinuxの圧縮ツール

ほとんどのLinuxディストリビューションには、さらに2つの圧縮ユーティリティが含まれています。ただし、それほど人気はありません。とはいえ、知識として知っておくためにここで紹介しておきます。

LZMA

LZMAは、Linuxディストリビューションによく含まれるもうひとつのコマンドライン圧縮ユーティリティです。7-Zipで使われている圧縮アルゴリズムとして知られています。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

XZ

XZユーティリティは、Linuxディストリビューションに標準で含まれることが多いコマンドライン圧縮ツールです。オプションはbzip2と似ています。LZMAをベースとしたLZMA2アルゴリズムに基づいています。

Linuxのファイル圧縮を完全マスター!圧縮・解凍に使える7つの効果的な方法

これらのユーティリティの詳細は、lzma –helpおよびxz –helpコマンドで確認できます。

Linuxには他にも圧縮・解凍の方法がある?

本記事で取り上げたのは、ほとんどのLinuxディストリビューションに標準搭載されている圧縮ツールのみです。それ以外にも、Linuxにはファイルを圧縮・解凍する方法がいくつも存在します。GUIを持つもの、コマンドライン専用のもの、そして両方で使えるものまであります。あなたはLinuxでどの圧縮ツールを使っていますか?お気に入りのツールとその理由を、ぜひコメント欄で教えてください。

  1. Galaxy S10で写真や動画を少ないストレージ容量で保存する方法|HEIF機能の使い方

    サムスンの「Galaxy S10」は今、大きな話題を集めています。この最新スマートフォンが幅広い層から支持されている理由の一つが、卓越したカメラ性能です。Galaxy S10には、3つのインテリジェントなトリプルレンズを備えたプロ仕様のカメラが搭載されており、高精細かつブレのない撮影が可能です。さらに、息をのむほど美しいAMOLEDディスプレイにより、撮影した写真や動画を最高のクオリティで楽しむことができます。 カメラ目当てでスマートフォンを選ぶ方にとって、Galaxy S10は無限の魅力を与えてくれる一台でしょう。しかし、写真撮影を頻繁に行うと、デバイスのストレージ容量があっという間にいっ

  2. 未来のゲーム業界を変える13の最新技術トレンド徹底解説

    はじめに テクノロジーは驚くべき速度で進化し続けています。その最たる証拠が、毎年世界中で成長を続けるゲーム業界です。近年登場した新技術の数々は、ゲーム業界に多大な影響を与えています。本記事では、エンターテインメントの可能性を最大限に引き出し、ゲーム業界の姿を一変させるであろう注目のテクノロジートレンドをご紹介します。 関連記事:おすすめのクリーナーソフトでPCの動作速度を改善しよう 注目すべき13の最新技術リスト 1. 顔認識技術 顔認識技術はさまざまな業界に浸透しつつあり、ゲーム業界でも近い将来、新作タイトルへの導入が期待されています。顔認識と3Dスキャンを活用すれば、プレイヤーの外見に似せ