Linux, コマンド · 1 min read · Sep 15, 2025
Linuxのtarコマンドの説明

Linuxのtarコマンドは、ファイルのアーカイブや配布に関してLinux管理者のスイスアーミーナイフです。Gnu Tarアーカイブは複数のファイルやディレクトリを含むことができ、ファイルの権限を保持でき、複数の圧縮形式をサポートしています。tarという名前は「T ape Ar chiver」の略で、この形式は公式のPOSIX標準です。
Tarファイル形式
tar圧縮レベルの簡単な紹介。
- 圧縮なし 圧縮されていないファイルは、ファイルの拡張子が.tarです。
- Gzip圧縮 Gzip形式はtar用の最も広く使用されている圧縮形式で、ファイルの作成と抽出が速いです。gz圧縮されたファイルは通常、ファイルの拡張子が.tar.gzまたは.tgzです。以下に、tar.gzファイルを作成および抽出する方法のいくつかの例を示します。
- Bzip2圧縮 Bzip2形式はGzip形式よりも優れた圧縮を提供します。ファイルの作成は遅く、ファイルの拡張子は通常.tar.bz2です。
- Lzip (LZMA)圧縮 Lzip圧縮はGzipの速度とBzip2に似た(またはそれ以上の)圧縮レベルを組み合わせています。これらの良い属性にもかかわらず、この形式は広く使用されていません。
- Lzop圧縮 この圧縮オプションは、おそらくtar用の最も高速な圧縮形式で、gzipに似た圧縮レベルを持ち、広く使用されていません。
一般的な形式はtar.gzとtar.bz2です。迅速な圧縮が目的であれば、gzipを使用してください。アーカイブファイルのサイズが重要な場合は、tar.bz2を使用してください。
tarコマンドは何に使われるのか?
tarコマンドの一般的な使用例をいくつか示します。
- サーバーやデスクトップのバックアップ。
- ドキュメントのアーカイブ。
- ソフトウェアの配布。
tarのインストール
このコマンドは、ほとんどのLinuxシステムにデフォルトでインストールされています。コマンドが欠けている場合にtarをインストールする手順を以下に示します。
CentOS
CentOSでtarをインストールするには、シェルでrootユーザーとして以下のコマンドを実行します。
yum install tarUbuntu
このコマンドはUbuntuにtarをインストールします。「sudo」コマンドは、aptコマンドがroot権限で実行されることを保証します。
sudo apt-get install tarDebian
以下のaptコマンドはDebianにtarをインストールします。
apt-get install tarWindows
tarコマンドはWindowsでも利用可能で、Gunwinプロジェクトからダウンロードできます。http://gnuwin32.sourceforge.net/packages/gtar.htm
tar.gzファイルの作成
シェルで実行する必要があるtarコマンドは以下の通りです。コマンドラインオプションについては以下で説明します。
tar pczf myarchive.tar.gz /home/till/mydocumentsこのコマンドは、パス/home/till/ mydocumentsからのファイルとフォルダを含むアーカイブmyarchive.tar.gzを作成します。コマンドラインオプションの説明:
- [p] このオプションは「保持」を意味し、tarにアーカイブ内のファイル所有者とファイル権限の詳細を保存するよう指示します。
- [c] 作成を意味します。このオプションはファイルを作成する際に必須です。
- [z] zオプションはgzip圧縮を有効にします。
- [f] ファイルオプションはtarにアーカイブファイルを作成するよう指示します。このオプションが省略されると、tarは出力をstdoutに送ります。
tarコマンドの例
例1: /etcディレクトリのバックアップ /etc設定ディレクトリのバックアップを作成します。バックアップはルートフォルダに保存されます。
tar pczvf /root/etc.tar.gz /etc
このコマンドはrootとして実行する必要があり、/etc内のすべてのファイルがバックアップに含まれることを保証します。今回は、コマンドに[v]オプションを追加しました。このオプションは冗長を意味し、tarにアーカイブに追加されるすべてのファイル名を表示するよう指示します。例2: /homeディレクトリのバックアップ 自分のホームディレクトリのバックアップを作成します。バックアップは/backupディレクトリに保存されます。
tar czf /backup/myuser.tar.gz /home/myusermyuserを自分のユーザー名に置き換えてください。このコマンドでは[p]スイッチを省略しているため、権限は保持されません。例3: MySQLデータベースのファイルベースのバックアップ MySQLデータベースはほとんどのLinuxディストリビューションで/var/lib/mysqlに保存されています。以下のコマンドで確認できます。
ls /var/lib/mysql
一貫したMySQLファイルバックアップを取得するためにデータベースサーバーを停止し、tarでバックアップを作成します。バックアップは/backupフォルダに書き込まれます。1) バックアップフォルダを作成します。
mkdir /backup
chmod 600 /backup- MySQLを停止し、tarでバックアップを実行し、データベースサーバーを再起動します。
service mysql stop
tar pczf /backup/mysql.tar.gz /var/lib/mysql
service mysql start
ls -lah /backup
tar.gzファイルの抽出
tar.gzファイルを抽出するコマンドは以下の通りです。
tar xzf myarchive.tar.gztarコマンドオプションの説明
- [x] xは抽出を意味し、tarファイルを抽出する際に必須です。
- [z] zオプションは、解凍するアーカイブがgzip形式であることをtarに指示します。
- [f] このオプションはtarにアーカイブの内容をファイルから読み込むよう指示します。この場合、ファイルはmyarchive.tar.gzです。
上記のtarコマンドは、tar.gzファイルを静かに抽出し、エラーメッセージのみを表示します。抽出されるファイルを確認したい場合は、「v」オプションを追加してください。
tar xzvf myarchive.tar.gz[v]オプションは冗長を意味し、ファイル名が解凍される際に表示されます。

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。