このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習10

新Linuxコマンド演習10 概要

 「新Linuxコマンド演習10」では、tarコマンドを使用して、ファイルやディレクトリをまとめて圧縮アーカイブ化(*.tar.gz形式)し、さらにそのアーカイブを展開(解凍)する方法を学びます。

 これまでに学習した gzipコマンドtarコマンド の知識を組み合わせる内容ですが、tarコマンドはオプションを指定することで、単独で圧縮と展開の両方が可能です。
実際のシステム運用では、バックアップ作成やファイル転送に広く利用されます。

tarコマンドの主なオプション一覧

オプション意味説明
ccreate新しいアーカイブを作成する。
xextractアーカイブを展開する。
vverbose処理の詳細を表示する。
ffileアーカイブファイル名を指定する。
zgzipgzip圧縮を利用してアーカイブを圧縮または解凍する。
tlistアーカイブ内の内容を一覧表示する。

この表の通り、tar は複数のオプションを組み合わせて使うことが基本です。
 例えば、czvf は「作成+ gzip 圧縮+詳細表示+ファイル指定」を同時に行うオプションの組み合わせです。

演習問題+模範解答例

演習01:ディレクトリとファイルの作成

問題
 バックアップ対象となる archive ディレクトリを作成し、その中に複数のファイルをコピーしてください。

模範解答例

[suzuki@AlmaLinux ~]$ mkdir archive
[suzuki@AlmaLinux ~]$ cp /etc/hosts /etc/services /etc/fstab archive
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates  archive
Documents  Music      Public    Videos

解説
cp コマンドを使用して、システム設定ファイルを archive ディレクトリにコピーしました。
これらのファイルを後でまとめてアーカイブ・圧縮します。

演習02:圧縮アーカイブを作成する

問題
archive ディレクトリを tarコマンドを使って圧縮アーカイブ(gzip形式)にまとめてください。

模範解答例

[suzuki@AlmaLinux ~]$ tar czvf archive.tar.gz archive
archive/
archive/hosts
archive/services
archive/fstab
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates  archive
Documents  Music      Public    Videos     archive.tar.gz

解説
tarコマンドで圧縮アーカイブを作成しました。
オプションの意味は以下の通りです。

オプション意味説明
ccreate新しいアーカイブを作成
zgzipgzip圧縮を使用
vverbose詳細表示
ffileアーカイブ名を指定 (archive.tar.gz)

出力結果から、archive ディレクトリが1つの圧縮ファイルにまとめられていることがわかります。

演習03:元ディレクトリの削除

問題
作成した archive ディレクトリを削除し、圧縮アーカイブだけを残してください。

模範解答例

[suzuki@AlmaLinux ~]$ rm -r archive
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates  archive.tar.gz
Documents  Music      Public    Videos

解説
rm -r オプションでディレクトリを再帰的に削除します。
圧縮アーカイブ archive.tar.gz だけが残りました。

演習04:アーカイブの展開(復元)

問題
削除した archive ディレクトリを、archive.tar.gz から展開して復元してください。

模範解答例

[suzuki@AlmaLinux ~]$ tar xzvf archive.tar.gz
archive/
archive/hosts
archive/services
archive/fstab
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates  archive
Documents  Music      Public    Videos     archive.tar.gz

解説
tarコマンドで圧縮アーカイブを展開しました。
オプションの意味は以下の通りです。

オプション意味説明
xextractアーカイブを展開
zgzipgzip圧縮を利用
vverbose詳細表示
ffileアーカイブファイルを指定

出力結果から、archive ディレクトリが元の構成で復元されています。

演習終了時の作業

問題
この演習で作成したファイルを削除し、環境を元に戻してください。

模範解答例

[suzuki@AlmaLinux ~]$ rm -r archive
[suzuki@AlmaLinux ~]$ rm archive.tar.gz
[suzuki@AlmaLinux ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

解説
演習終了時には作業用ファイルを削除し、クリーンな状態に戻します。

tarによる圧縮・展開の流れ

操作コマンド例処理内容
圧縮アーカイブの作成tar czvf archive.tar.gz archiveディレクトリをgzip圧縮付きでまとめる。
アーカイブの展開tar xzvf archive.tar.gz圧縮ファイルを解凍・展開する。
アーカイブ内容の確認tar tzvf archive.tar.gz圧縮ファイル内の構成を一覧表示

この表により、tarコマンド1つで圧縮・解凍・確認の全操作を実行できることがわかります。

まとめ

新Linuxコマンド演習10」では、tarコマンドを使って圧縮アーカイブの作成と展開を行いました。
 gzipやgunzipコマンドを個別に使わなくても、tarコマンドのオプションを組み合わせることで、一括で圧縮と展開が可能になります。

 tarコマンドはLinuxのバックアップ・配布・ログ保存など、あらゆる場面で使用される基本中の基本コマンドです。