tar

tar (tape archives)は指定したディレクトリまたはファイルのTARアーカイブファイルを作成・展開するLinuxコマンドである。TARアーカイブファイルはTARボールとも呼ばれる。

中身の確認

tarファイルの中身を確認する。デフォルトでは、標準入力からtarファイルを取得する。

$ cat example.tar | tar -t
example.c
a.out

中身を確認するtarファイルのファイル名を指定するには、tar コマンドに -f オプションを指定する。

$ tar -t -f example.tar
example.c
a.out

tarファイルの中身を詳細に確認するには、tar コマンドに -v オプションを指定する。

$ tar -t -v -f example.tar
-rw-r--r-- tsuka/tsuka     276 2022-03-05 12:31 example.c
-rw-r--r-- tsuka/tsuka     276 2022-03-05 12:40 a.out

オプションはハイフンを省略して纏めて指定することができる。

$ tar tvf example.tar
-rw-r--r-- tsuka/tsuka     276 2022-03-05 12:31 example.c
-rw-r--r-- tsuka/tsuka     276 2022-03-05 12:40 a.out

展開(解凍)

tarファイルからファイルを展開(解凍)するには、tarコマンドに -x オプションを指定する。デフォルトでは、標準入力からtarファイルを取得する。

$ cat example.tar | tar -x

展開(解凍)するtarファイルのファイル名を指定するには、tar コマンドに -f オプションを指定する。

$ tar -x -f example.tar

tarファイルに含まれるファイルを指定して、そのファイルだけを展開(解凍)することもできる。

$ tar -x -f example.tar example.c

展開(解凍)した各ファイル名を標準出力へ出力するには、-v オプションも指定する。

$ tar -x -v -f example.tar
example.c
a.out

tarコマンドのオプションは、ハイフンを省略して纏めて指定することができる。

$ tar xvf example.tar
example.c
a.out

作成

アーカイブを新規作成(create)するには、-c オプションを指定してtarコマンドを実行する。

tar -c -f example.tar /usr/tsuka/src

アーカイブした各ファイル名を標準出力へ出力するには、-v オプションも指定する。

tar -c -v -f example.tar /usr/tsuka/src

オプションはハイフンを省略して纏めて指定することができる。

tar cvf example.tar /usr/tsuka/src

追加

アーカイブの末尾にファイルを追加する。

tar rvf file path
file
作成するTARアーカイブのファイル名を指定する。
path
TARアーカイブを作成するディレクトリ又はファイルのパスを指定するUnixコマンドである。パスは絶対パスと相対パスのどちらを指定してもよいが、絶対パスで指定した場合、展開時に絶対パスで展開されるので注意が必要。

更新

アーカイブに含まれるファイルを更新(update)する。

tar uvf file path

オプション

tarコマンドには次のオプションを指定できる。

-A
--catenate
--concatenate
アーカイブを別のアーカイブの最後に追加する。引数は、追加するアーカイブの名前として扱われる。すべてのアーカイブは、それが追加されるアーカイブと同じフォーマットでなければならない。圧縮されたアーカイブは連結できない。
-c
--create
新しいアーカイブを作成する。アーカイブするファイルの名前を引数で指定する。--no-recursion オプションが指定されていない場合、ディレクトリは再帰的にアーカイブされる。
-z
--gzip
--gunzip
--ungzip
gzipコマンドを使ってアーカイブする。
-d
--diff
--compare
アーカイブとファイル・システムの違いを確認する。引数はオプションで、比較するアーカイブ・メンバーを指定する。指定しない場合は、現在の作業ディレクトリが使用される。
$ tar -d -f /home/tsuka/example.tar main.c
main.c: Mod time differs
main.c: Size differs
--delete
アーカイブから削除する。引数には、削除するアーカイブ・メンバーの名前を指定する。少なくとも1つの引数を指定する必要がある。このオプションは、圧縮アーカイブでは機能しない。同等のショートオプションはない。
-r
--append
アーカイブの最後にファイルを追加する。
-t
--list
アーカイブの内容を一覧表示する。引数はオプションである。指定すると、リストするメンバーの名前を指定する。
--show-defaults
さまざまなtarオプションの組み込みデフォルトを表示して、コマンドを終了する。引数は指定できない。
tar --show-defaults
-u
--update
アーカイブ内の対応するコピーよりも新しいファイルを追加する。新しいファイルは古いアーカイブ・コピーを置き換えるのではなく、アーカイブの最後に追加されることに注意すること。したがって、結果のアーカイブには、同じファイルのさまざまなバージョンに対応する同じ名前の複数のメンバーを含めることができる。
-?
--help
オプションの短い概要を表示して、コマンドを終了する。引数は指定できない。
tar -?
--usage
使用可能なオプションのリストを表示して、コマンドを終了する。引数は指定できない。
tar --usage
--version
プログラムのバージョンと著作権情報を表示して、コマンドを終了する。
tar --version
-v
--verbose
処理されたファイルを詳細に一覧表示する。

Linuxコマンド