このページで解説している内容は、以下の 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 dir
tar -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
コマンドを使ったファイルのアーカイブ・展開がスムーズに行えるようになります。