Linuxでzip・tar・tar.gzファイルを作成・展開する方法【コマンド実例付き】
本記事では、Linuxオペレーティングシステム上で.ZIP、.TAR、.TAR.GZファイルを作成する方法、およびその内容を開いて展開(解凍)する方法を詳しく解説します。
データ圧縮の背景
データ圧縮は長年にわたり私たちにとって非常に有用な技術です。メールで送信する画像をまとめたzipファイルや、サーバーに保存された圧縮バックアップなど、貴重なハードディスクの容量を節約したり、ファイルのダウンロードを容易にしたりするために、私たちは日常的にデータ圧縮を活用しています。中にはデータを60%以上も圧縮できるフォーマットもあります。この記事では、Linuxマシン上でこれらのフォーマットを使ってファイルやディレクトリを圧縮・解凍する方法を紹介します。具体的には、zip、tar、tar.gz、tar.bz2という、Linux環境で最も人気のある圧縮フォーマットの基本的な使い方を取り上げます。
補足:Windows版のチュートリアルをお探しの方は、「Windowsでtar.gzファイルを開く方法」の記事をご覧ください。
各フォーマットの使い方に入る前に、筆者の経験を少し共有させてください。ここで扱うのはほんの一部の圧縮フォーマットですが、世の中にはさらに多くのフォーマットが存在します。筆者は、自分が使いこなせる2〜3種類の圧縮フォーマットを見つけて、それらを使い続けるのが良いと考えています。zipフォーマットは間違いなくその一つです。zipはデータ圧縮の事実上の標準となっており、Windowsでも動作するためです。Windowsユーザーと共有する可能性のあるファイルにはzip形式を使用し、MacやLinuxマシンでのみ使うファイルにはtar.gz形式を好んで使用しています。
LinuxでのZIPファイルの操作
zipはおそらく今日最も広く使われているアーカイブ形式です。最大の利点は、Linux、Windows、Mac OSなどすべてのOSプラットフォームで利用でき、標準でサポートされている点です。一方で欠点は、圧縮率が最良ではないことです。その点ではtar.gzやtar.bz2の方がはるかに優れています。それでは、実際の使い方を見ていきましょう。
ディレクトリをzipで圧縮するには、以下のコマンドを実行します:
# zip -r archive_name.zip directory_to_compress
zipアーカイブを展開するには:
# unzip archive_name.zip
LinuxでのTARファイルの操作
tarはLinuxシステムで非常に一般的に使われるアーカイブ形式です。tarの利点は、圧縮にかかる時間とCPUリソースが非常に少ないことですが、その分圧縮率も高くありません。tarは「手軽だが大雑把」な、Linux/UNIX版のzipと言えるでしょう。ディレクトリを圧縮する方法は以下の通りです:
# tar -cvf archive_name.tar directory_to_compress
アーカイブを展開するには:
# tar -xvf archive_name.tar
これにより、archive_name.tarアーカイブ内のファイルが現在のディレクトリに展開されます。別のディレクトリに展開することもできます:
# tar -xvf archive_name.tar -C /tmp/extract_here/
LinuxでのTAR.GZファイルの操作
この形式は、筆者が最もよく使う圧縮方式です。優れた圧縮率を提供しながら、圧縮処理中のCPU負荷が比較的少ないのが特徴です。ディレクトリを圧縮するには、次の構文を使用します:
# tar -zcvf archive_name.tar.gz directory_to_compress
アーカイブを解凍するには:
# tar -zxvf archive_name.tar.gz
これにより、archive_name.tar.gzアーカイブ内のファイルが現在のディレクトリに展開されます。別のディレクトリに展開したい場合は:
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/
LinuxでのTAR.BZ2ファイルの操作
この形式は、ここで紹介したすべてのフォーマットの中で最高の圧縮率を誇ります。ただしその代償として、時間とCPUリソースを多く消費します。tar.bz2でディレクトリを圧縮する方法は以下の通りです:
# tar -jcvf archive_name.tar.bz2 directory_to_compress
アーカイブを展開するには:
# tar -jxvf archive_name.tar.bz2
これにより、archive_name.tar.bz2アーカイブ内のファイルが現在のディレクトリに展開されます。別のディレクトリに展開する場合は:
# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/
まとめ:用途に合った圧縮形式を選ぼう
データ圧縮は、特にバックアップにおいて非常に便利です。定期的にファイルのバックアップを行うシェルスクリプトをお持ちなら、ここで学んだ圧縮フォーマットの一つを使ってバックアップサイズを削減することを検討してみてください。
使い込んでいくうちに、圧縮率と圧縮にかかる時間・CPUリソースの間にはトレードオフがあることに気づくでしょう。素早く済ませられるが圧縮率は低めでよい場面と、多少時間がかかっても高い圧縮率が必要な場面を見極められるようになれば、圧縮操作はより快適で効率的なものになります。
-
Windows 10/11でファイルを圧縮・解凍する方法【標準機能で簡単操作】
ファイルをZIP形式に圧縮すると、データサイズを小さくすることができます。複数のファイルをひとつにまとめたい場合や、大容量ファイルを扱いたい場合に特に便利な機能です。また、圧縮しておくことでファイル転送の速度向上にもつながります。そして転送が完了した後は、ファイルを再び使えるようにするために解凍作業が必要になります。この記事では、圧縮と解凍の両方のやり方をわかりやすく解説していきます。Windows 10/11でファイルを圧縮(ZIP化)する方法Windowsには、標準でZIP圧縮機能が搭載されています。まず、圧縮したいファイルやフォルダーを探しましょう。対象のファイルが見つかったら、右クリッ
-
iPhoneでZIPファイルを作成・開く方法【iOS 13以降対応】
パソコンを使っていると、「ZIP」や「圧縮」という言葉を耳にする機会は多いのではないでしょうか。ZIPファイルは個人でもビジネスでも非常に便利な機能で、大きなファイルをひとつにまとめて圧縮すれば、メールでの送信もスムーズになります。関連する複数のファイルを1つのフォルダにまとめられるため、メール添付ファイルのダウンロードや転送も素早く行えます。 では、スマートフォンでZIPファイルを扱うにはどうすればよいのでしょうか? 従来、容量の大きいファイルや複数のファイルをメールで送る際には、ノートパソコンやデスクトップPCを使うのが一般的でした。しかし、iPhoneやAndroidスマホ上で直接ファイ