このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:ファイルをアーカイブする:tarコマンド

ファイルをアーカイブする:tarコマンド
tarコマンドは、複数のファイルやディレクトリを一つのアーカイブファイルにまとめたり、逆にアーカイブファイルから元のファイルを取り出すために利用される、Linuxで広く使われているコマンドです。ここでは、tarコマンドの基本的な使い方を学びます。

tarコマンドの概要
tarコマンドとは
- 目的:複数のファイルやディレクトリを一つのアーカイブファイルにまとめる。
- 歴史:
tarはTape Archiveの略で、もともとテープデバイスにファイルをアーカイブするために開発されましたが、現在では様々なデバイスやファイル形式で利用されています。 - 拡張子:アーカイブファイルには慣習として
.tarという拡張子を付けます。
基本的なオプション
| オプション | 意味 |
|---|---|
c | アーカイブの作成(create) |
f | ファイル名の指定(file) |
t | アーカイブ内容の一覧表示(list) |
v | 詳細情報の表示(verbose) |
x | アーカイブからの展開(extract) |
z | gzip形式で圧縮・解凍(gzip) |
j | bzip2形式で圧縮・解凍(bzip2) |
J | xz形式で圧縮・解凍(xz) |
練習用ファイルの準備
まずは、tarコマンドの練習用にファイルとディレクトリを作成します。
手順
ディレクトリの作成
user01@ubuntu:~$ mkdir dirファイルの作成
user01@ubuntu:~$ touch dir/file-{1..9}.txt結果
dirディレクトリ内に9つのファイルが作成されます。
user01@ubuntu:~$ ls dir
file-1.txt file-2.txt file-3.txt file-4.txt file-5.txt file-6.txt file-7.txt file-8.txt file-9.txtブレース展開について
上記で使用した{1..9}は、ブレース展開というBashの機能です。
【書式】:ブレース展開{<開始数値>.. <終了数値>}
コマンド例
user01@ubuntu:~$ echo {a..z}.txt
a.txt b.txt c.txt d.txt e.txt f.txt g.txt h.txt i.txt j.txt
k.txt l.txt m.txt n.txt o.txt p.txt q.txt r.txt s.txt t.txt
u.txt v.txt w.txt x.txt y.txt z.txtカンマ区切りの例
user01@ubuntu:~$ echo test.{txt,log,dat,pdf,jpg}
test.txt test.log test.dat test.pdf test.jpgブレース展開を利用すると、連番や複数の文字列を簡単に生成できます。
アーカイブファイルの作成
それでは、tarコマンドを使ってdirディレクトリをアーカイブファイルにまとめます。

基本書式
【書式】ファイルをアーカイブするtar cf <アーカイブファイル> <アーカイブ元ファイルパス>
c:新しいアーカイブを作成(create)f:ファイル名を指定(file)
実行例
user01@ubuntu:~$ tar cf dir.tar dir このコマンドで、dirディレクトリとその中のファイルがdir.tarというアーカイブファイルにまとめられます。
結果の確認
user01@ubuntu:~$ ls -l
合計 ***
drwxrwxr-x 2 user01 user01 4096 日付 dir
-rw-rw-r-- 1 user01 user01 大きさ 日付 dir.tarポイント:tarコマンドでは、オプションにハイフン(-)を付けずに指定するのが一般的です。
コマンド例
下記の2つは同じ意味ですが、ハイフンを付けない書き方がよく使われます。
tar cf dir.tar dirtar -cf dir.tar dirアーカイブファイルの内容確認
作成したアーカイブファイルの内容を確認するには、tオプションを使用します。
基本書式
【書式】アーカイブファイルの内容を表示するtar tf <アーカイブファイル>
t:アーカイブの内容を一覧表示(list)f:ファイル名を指定(file)
実行例
user01@ubuntu:~$ tar tf dir.tar
dir/
dir/file-1.txt
dir/file-2.txt
dir/file-3.txt
dir/file-4.txt
dir/file-5.txt
dir/file-6.txt
dir/file-7.txt
dir/file-8.txt
dir/file-9.txtこのように、dirディレクトリ内のファイルがアーカイブに含まれていることが確認できます。
ここで作成したファイルとディレクトリを削除
練習用に作成したファイルとディレクトリを削除します。
コマンド
user01@ubuntu:~$ rm -r dir
user01@ubuntu:~$ rm dir.tar注意:rm -rコマンドはディレクトリとその中身を削除します。重要なファイルを削除しないように注意してください。
まとめ
tarコマンドの基本:複数のファイルやディレクトリを一つのアーカイブファイルにまとめることができます。- 主なオプション:
・c:アーカイブの作成
・f:ファイル名の指定
・t:アーカイブ内容の一覧表示 - ブレース展開の活用:
{}を使って、連番や複数の文字列を簡単に生成できます。 - アーカイブの確認:
tar tfコマンドで、アーカイブファイルの内容を確認できます。 - オプション指定の慣習:
tarコマンドでは、オプションにハイフンを付けない書き方が一般的です。
これらの基本操作を理解することで、tarコマンドを使ったファイルのアーカイブ・展開がスムーズに行えるようになります。
