複数のファイルやディレクトリー内のファイルをまとめてひとつのファイルにしたり、テープに書き込んだりすることをアーカイブするといいます。
ファイルをアーカイブするには、tar(ター)コマンドを使います。
tarは「Tape ARchive」の略で、元々はDATやLTOなどのテープデバイスにファイルを保存するためのコマンドですが、現在はテープデバイスに保存するより、ログなどをひとつのファイルにまとめて圧縮する用途で使われることが多いです。
tarコマンドのオプション
tarコマンドは、複数のオプションを組み合わせて使います。
tarコマンドの基本的なオプションは、以下のようになります。
■ 必須オプション(必須オプションは同時に複数指定できません)
オプション | 内容 |
c | 新しいアーカイブを作成 |
t | アーカイブの内容を表示 |
x | アーカイブを展開 |
■ 任意オプション
オプション | 内容 |
f | アーカイブ名を指定(テープの場合はデバイス名) |
v | 処理したファイルの一覧を表示(tオプション時はファイルの詳細表示) |
z | アーカイブ時、gzip形式で圧縮 |
ファイルをアーカイブする
ファイルをアーカイブするには、以下のようにします。
ワイルドカードや正規表現を使うことで、ファイルを絞り込むこともできます。
なお、アーカイブの拡張子は、一般的にtarにします。
tar cvf アーカイブ名 ディレクトリー名またはファイルパターン
実行例
$ tar cvf sample.tar log
log/
log/backup1.log
log/backup2.log
アーカイブの内容を確認する
アーカイブの内容を確認するには、以下のようにします。
tar tvf アーカイブ名
実行例
$ tar tvf sample.tar
drwxrwxr-x ec2-user/ec2-user 0 2020-03-18 18:46 log/
-rw-rw-r-- ec2-user/ec2-user 63 2020-03-18 18:46 log/backup1.log
-rw-rw-r-- ec2-user/ec2-user 63 2020-03-12 22:14 log/backup2.log
アーカイブを展開する
アーカイブを展開するには、以下のようにします。
tar xvf アーカイブ名
実行例
$ tar xvf sample.tar
log/
log/backup1.log
log/backup2.log
アーカイブから特定のファイルのみ展開する
アーカイブから特定のファイルのみ展開するには、以下のようにします。
ファイル名は、アーカイブ内のディレクトリーも含めて指定する必要があります。
tar xvf アーカイブ名 ファイル名
実行例
$ tar xvf sample.tar log/backup1.log
log/backup1.log
アーカイブを圧縮して作成する
アーカイブを圧縮して作成するには、以下のようにします。
なお、圧縮したアーカイブも、普通のアーカイブと同様のオプションで展開できます。
tar cvfz アーカイブ名 ディレクトリー名またはファイルパターン
実行例
$ tar sample.tar log
log/
log/backup1.log
log/backup2.log