tarメモ
ダウンロード → 解凍 → コンパイル
を繰り返す。つまり、一番使うコマンド郡はwget,tar,make。
今回は、理解の足らないtarついて調べようと思う。
tarとは
tarは"Tape ARchive" の略。って、いつの時代から使われているんだ・・・。
元々は、「複数のファイルをまとめて tar 形式というアーカイブファイルにする機能」がメイン。
つまり、catよりちょっと凄い奴。圧縮解凍機能はおまけ。
よく使うコマンド
.tar.gzの解凍
% tar xzf hoge.tar.gz
これだけ覚えておけば生きていける。
manを見ると、
コピペ。
tar <operation> [options] Operations: [-]A --catenate --concatenate [-]c --create [-]d --diff --compare [-]r --append [-]t --list [-]u --update [-]x --extract --get --delete Common Options: -C, --directory DIR -f, --file F -j, --bzip2 -p, --preserve-permissions -v, --verbose -z, --gzip
オプションは英語で覚えるとわかりやすい。
tarをハックする。
ちょっと遊んでみる。
まずは、tar -cfでまとめる。
% cat hoge.txt ほげほげ % cat moge.txt もげもげ % tar -cf hoge.tar hoge.txt moge.txt
catで覗いてみる。
% cat hoge.tar hoge.txt0000644000076400007640000000001510644073041012024 0ustar tanakatanakaほげほげ moge.txt0000644000076400007640000000001510644072552012037 0ustar tanakatanakaもげもげ
tarは小さなファイルシステムのような役割をしているようだ。ユーザー名が入っているので、怪しいファイルを配布するときは、注意しよう(笑
もうちょっと詳しく。
% od -t xz hoge.tar 0000000 65676f68 7478742e 00000000 00000000 >hoge.txt........< 0000020 00000000 00000000 00000000 00000000 >................< * 0000140 00000000 30303030 00343436 30303030 >....0000644.0000< 0000160 00343637 30303030 00343637 30303030 >764.0000764.0000< 0000200 30303030 00353130 34363031 33373034 >0000015.10644073<
こう見ると、ファイルシステムそのものですねぇ。
これ以上はソースを見た方が良いね。
まとめ
- tarはテープレコーダーが由来なので、fオプションは必修。
- tar -xzfがあれば生きていける。
- tarは小さなファイルシステムのようだ。
参考
- UNIXの部屋 検索:tar (*BSD/Linux/Solaris)
- わかりやすい。
- Manpage of TAR
- manの日本語版
- man tar