Linuxコマンド集
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

tar  ファイルを書庫化・展開する(拡張子.tarなど) (1)

 構文  
tar (オプション1)(オプション2) [ファイル]

 オプション1  
A tarファイルを書庫に追加する
c 書庫を新規に作成する
d 書庫とファイル・システムを比較する
r 書庫の後部にファイルを追加する
t 書庫の内容を表示する
u 書庫内のファイルより新しいファイルのみ追加する
x 書庫からファイルを取り出す
--delete 書庫内からファイルを削除する

 オプション2  
--atime-preserve ダンプしたファイルのアクセス時刻を変えない
-b, --block-size 値 ブロック・サイズを指定した数値に512バイトをかけた値にする。初期値は20
-B, --read-full-blocks 読み込みと同時にブロック化し直す
-C, --directory ディレクトリ名 指定したディレクトリに移動してから動作を始める
--checkpoint 書庫の読み出し中にディレクトリ名を表示する
-f, --file ファイル名 指定した書庫ファイルまたはデバイスを使用する。初期値は/dev/rmt0
--force-local 書庫ファイル名にコロンが存在してもローカル・ファイルとして扱う
-F, --info-script スクリプト,--new-volume-script スクリプト 各テープの最後にスクリプトを実行する
-G, --incremental 旧GNU形式のインクリメンタル・バックアップにより作成/一覧表示/抽出を行う
-g, --listed-incremental ファイル名 新GNU形式のインクリメンタル・バックアップにより作成/一覧表示/抽出を行う
-h, --dereference シンボリック・リンクをダンプしない
-i, --ignore-zeros ゼロのみからなるブロックを無視する
--ignore-failed-read 読み出しが不能なファイルに対して,ステータス・コードが0でない限りは終了しない
-j bzip2を通して処理を行う
-k, --keep-old-files ファイルが存在する場合は上書きしない
-K, --starting-file ファイル名 作業開始位置を指定する
-l, --one-file-system ローカル・ファイル・システムに限定して書庫を作成する
-L, --tape-length 値 ローカル・ファイル・システムに限定して書庫を作成する
-m, --modification-time ファイルの変更時間を抽出しない
-M, --multi-volume マルチボリュームの書庫の作成/一覧表示/抽出を行う
-N, --after-date 日付, --newer 日付 指定した日より新しい日付けのファイルだけを格納する
-o, --old-archive, --portability V7形式の書庫を書き込む
-O, --to-stdout ファイルを標準出力に書き出す
-p, --same-permissions, --preserve-permissions すべてのアクセス情報を書き込む
-P, --absolute-paths ファイル名の先頭のスラッシュ(/)を取り除かない
-R, --record-number メッセージと共にレコード数を表示する
--remove-files 書庫に追加後にファイルを削除する
-s, --same-order, --preserve-order 抽出するファイル名をソートし,表示する
--same-owner 所有者属性を保持したまま抽出する
-S, --sparse 大部分がビット0から構成されているファイルを効率的に処理する
-T, --files-from ファイル名 指定したファイルから抽出または作成するファイル名を読み込む
--null 文字コード0で終了したファイル名を読み込む。ただし,-Cオプションを指定することはできない
--totals 書き込まれたサイズを表示する
-v, --verbose 処理したファイルの一覧を詳細に表示する
-V, --label ボリューム名 指定したボリューム名のアーカイブを作成する
-w, --interactive, --confirmation 処理するごとに確認を求める
-W, --verify 書庫を書き込み後に照合する
--exclude ファイル名 指定したファイルを除外する
-X, --exclude-from ファイル名 指定したファイルに記述されているファイルを除外する
-Z, --compress, --uncompress compressを通して処理する
-z, --gzip, --ungzip gzipを通して処理する
--use-compress-program プログラム名 指定したプログラムを通して処理する
--block-compress 指定したプログラムを通して処理する
-[0-7][lmh] ドライブと密度を指定する

 説明  

tarは,複数のファイルを1つのファイルにまとめて管理するための,書庫管理コマンドだ。複数のファイルを1つのファイルにまとめる書庫化や,その書庫の展開,既にある書庫へのファイルの追加や削除が行える。書庫化したファイルには一般に,「.tar」という拡張子を付ける。ただし,tarでは圧縮は行われない。そこで,gzipやbzip2といった書庫機能を搭載しない圧縮形式と併用することで,書庫化と圧縮を同時に行う場合が多い。

バックアップ用のファイルを作成することもできる。tarコマンドは本来,磁気テープ装置を制御するコマンドであったが,現在では書庫化の機能がよく利用される。


 使用例  
arc_dirディレクトリ内のファイルを,書庫ファイル(arch.tar)にする
$ tar cvf arch.tar arc_dir

書庫ファイルを展開する
$ tar xvf arch.tar

gzip方式で圧縮した書庫ファイルを作成する
$ tar zcvf arch.tar.gz arc_dir

bzip2方式で圧縮された書庫ファイルを展開する
$ tar jxvf arch.tar.bz2

既にある書庫にファイル(add_file)を追加する
$ tar rf arch.tar add_file

書庫ファイルの内容を一覧する
$ tar tf arch.tar

ホーム・ディレクトリ以下の内容をフロッピ・ディスクにバックアップする
$ tar cvf /dev/fd0 ~/

書庫ファイルからreadme.txtファイルのみを削除する
$ tar vf arch.tar --delete readme.txt

 関連事項  
compresscpiogzipbzip2ziptarファイルを作成・展開する
■変更履歴
オプション2 --atime-preserveの説明で「書庫内からファイルを削除する」としていましたが正しくは「ダンプしたファイルのアクセス時刻を変えない」です。お詫びして訂正します。本文は修正済みです。 [2012/08/03 12:53]