Tar
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、コンピュータのファイルフォーマットについて説明しています。その他のTARについては「TAR」をご覧ください。

Tar
拡張子.tar
MIMEタイプapplication/x-tar
タイプコード"TARF"
UTIpublic.tar-archive
マジック
ナンバー
ustar\000すなわち「ustar」、NUL、算用数字の零2個の計8バイト(POSIX tar)
ustar\040\040(GNU tar)
(いずれも0から数えて257バイト目から)
種別ファイルアーカイブ

GNU Tar開発元GNUプロジェクト

最新版1.35 / 2023年7月18日 (10か月前) (2023-07-18)[1]
リポジトリgit.savannah.gnu.org/cgit/tar.git
プログラミング
言語C言語
ライセンスGNU GPL v3 以降
公式サイトwww.gnu.org/software/tar/
テンプレートを表示

libarchive (bsdtar)
最新版3.7.3 / 2024年4月8日 (40日前) (2024-04-08)[2]
リポジトリgithub.com/libarchive/libarchive
プログラミング
言語C言語
ライセンスNew BSD License
公式サイトwww.libarchive.org
テンプレートを表示

tar(ター、tape archives)はファイルアーカイブファイルフォーマットの一種である。このファイルフォーマットを処理する同名のUNIXコマンドtarも指す。UNIXでは圧縮したtar形式のファイルを"tarball"(ターボール)と呼ぶこともある。POSIX.1-1988[3]やPOSIX.1-2001[4]で規格化され、UNIX系オペレーティングシステムでは標準のフォーマットである。Windows では Windows 10 Build 17063 (Version 1803) 以降からコマンドラインツールが標準搭載されていて[5]File Explorer では Windows 11 Build 23493[6] (Version 22H2[7]) 以降は解凍に対応していて、Windows 11 Build 25992[8] 以降は圧縮に対応している。
機能

tarはファイルアーカイブに用いられ、多数のファイルを一つのファイルにまとめることができる。ファイルのユーザ情報とグループ情報、パーミッション、最終更新日時、ディレクトリ構造などを同時にアーカイブすることができる。
圧縮・伸長tarによって複数のファイルを1つにまとめ、gzipなどで圧縮する。

元来tarはアーカイブ、すなわち複数のファイルをまとめることのみで圧縮の機能はない。大半の場合アーカイブと同時にcompressgzipbzip2などの圧縮方法を用いて圧縮(いわゆるソリッド圧縮)を行う。これによりファイルの拡張子はそれぞれ .tar.Z、.tar.gz、.tar.bz2 となる。それぞれ略して .taZ、.tgz, .tbz2 とされることも多い。特に gzip は古くから良く使われている。

この形式はファイルが一部でも破損した場合、破損箇所に含まれていたファイル以降は取り出すことはできない。
ヘッダー

tarはファイルの属性などのいわゆるメタデータも一緒に含んでいる。以下のテーブルにUNIX tarフォーマットの一例を示す:

Pre-POSIX.1-1988 (i.e. v7):

オフセットサイズ内容
0100ファイル名
1008ファイルモード
1088所有者 User ID
1168グループ User ID
12412ファイルサイズ(Byte)
13612最終更新時刻(UNIX時間
1488チェックサム
1561リンクインジケーター(通常ファイル、ハードリンク、シンボリックリンク)
157100リンクされたファイルの名前

コマンドオプション

以下は GNU Tar および bsdtar で共通で利用可能なオプションである。

-c 新しいアーカイブを作成する

-r アーカイブにファイルを追加する

-t アーカイブの内容をリスト表示する

-u アーカイブ内より新しいファイルを追加する

-x アーカイブからファイルを取り出す

-f file テープの代わりに指定したファイルをアーカイブする。これが指定されていない場合は環境変数 TAPE に従う。それもない場合の挙動はOSやコンパイル時の指定依存。

-v 詳細メッセージを表示する

-C directory directoryに移動してから操作を行う

--newer date 指定した日付よりも新しいファイルだけをアーカイブに入れる(取り出す)

-T file fileの中に記載されているファイル名をアーカイブに入れる(取り出す)。fileの中身は改行区切りで1行1ファイル名。

圧縮・伸長オプション

-a もしくは --auto-compress アーカイブ作成時に拡張子から圧縮プログラムを自動的に決定する。解凍時は何も指定しなくても自動的に決まる。
[9]

compress は .tar.Z, .taZ

gzip は
.tar.gz, .tgz, .taz

bzip2 は
.tar.bz2, .tz2, .tbz2, .tbz

xz は
.tar.xz

lzip は
.tar.lz

lzma は
.tar.lzma, .tlz(ルールに一貫性がなく .tlz は lzip ではなく lzma になっている)

lzop は
.tar.lzo

Zstandard は
.tar.zst, .tzst


-Z もしくは --compress アーカイブを
UNIX Compressで圧縮・伸長する

-z もしくは --gzip アーカイブをgzipで圧縮・伸長する

-j もしくは --bzip2 アーカイブをbzip2で圧縮・伸長する

-J もしくは --xz アーカイブをxzで圧縮・伸長する

--lzma アーカイブをlzmaで圧縮・伸長する

--lzop アーカイブをlzopで圧縮・伸長する

--zstd アーカイブをZstandardで圧縮・伸長する

2022年12月現在、GNU Tar 独自の物として --lzip があり、bsdtar 独自の物としては --lrzip や --lz4 がある。

圧縮レベルや並列圧縮を指定する方法は、

GNU Tar の場合は tar -cf name.tar.zst -I "zstd -19 -T0" directory のように指定する。aの代わりにIで指定する。

bsdtar の場合は tar -caf name.tar.zst --options=compression-level=19,threads=0 directory のように指定する。

コマンド例

以下は、圧縮・伸長のコマンド例である[10]

圧縮。tar -caf name.tar.gz directory

伸長。tar -xf name.tar.gz
テープデバイス

テープデバイスに記録。tar -cf /dev/nst0 directory

テープデバイスから読み出す。tar -xf /dev/nst0

テープ上のファイルのリストを表示。リスト表示したいアーカイブファイルの先頭にテープを移動させた後、以下を実行。tar -tf /dev/nst0
歴史

tarコマンドはTape ARchiveというその名の通り磁気テープの操作が念頭に置かれていた。fオプション[11]を省いた場合デフォルトで磁気テープデバイスを処理する。fオプションの指定によりファイルシステム上の任意の名前のファイルを処理できる。

tarballという言葉の由来は「リーマスじいや(英語版)」の童話『タールの赤ん坊(英語版)』に由来し[12]、それに油塊(タールボール)を引っ掛けたジョーク的用語である。

その歴史の長さゆえにシステム毎の方言やファイルサイズの制限など多くの非互換部分がある為、異なるシステム間のファイル交換を目的とする場合は慎重に利用する必要がある。近年は GNU Tar と bsdtar が一般的ではあるが、その他、様々な tar が存在する。Windows 10 以降や macOS に搭載されているのは bsdtar であり、Linux で一般的なのは GNU Tar である。BusyBox にも独自の tar が含まれている。
関連項目

mt (UNIX)

テープドライブ

Linear Tape-Open

IBM 3592

脚注[脚注の使い方]^ “NEWS”. 2023年7月19日閲覧。
^ libarchive/NEWS at master ・ libarchive/libarchive - GitHub
^ "IEEE Std 1003.1-1988, IEEE Standard for Information Technology - Portable Operating System Interface (POSIX)"
^ "IEEE Std 1003.1-2001, IEEE Standard for Information Technology - Portable Operating System Interface (POSIX)"
^ Tar and Curl Come to Windows! 。Microsoft Learn2023年9月4日閲覧。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:18 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef