tar コマンドの使い方とオプションの覚え方

Linux でよく使うコマンドに tar コマンドがあります。.tar, .tar.gz, .tgz などのアーカイブファイル、通称 tarball を作成・抽出するコマンドですね。

抽出(解凍)はよく使うから呪文のようにオプションを覚えているんだけど、アーカイブ作成(圧縮)の方はうろ覚えでした。ということで、改めて各オプションの意味を備忘録的に記しておきます。

まず、必須のオプション(機能指定文字)を選ぶ。

  • c : Create アーカイブの作成
  • x : eXtract アーカイブの抽出

これに次のオプションをつける。

  • z : gZip 圧縮・解凍に gzip を使う(もちろん gzip 形式の場合のみ)
  • v : Verbose 作成・抽出時にファイルのリストを画面出力する
  • f : File 作成・抽出するファイルを指定する(tar は本来テープメディアのためのコマンド (Tape ARchive) のため、これを指定しないとデフォルトで /dev/rmt0 になってしまう)

あわせると、以下。

tar czvf hoge.tar.gz hoge1 hoge2 ... //圧縮
tar xzvf hoge.tar.gz //解凍

(c|x)zvf っていう風に覚えておけば OK ですね。

他に、機能指定文字 t が便利です。

  • t : lisT 実際には解凍せずに、圧縮されたファイルのリストを表示する

たまに、解凍するとディレクトリを作らずにファイルをぶちまけるアーカイブがあるので、先にリストを確認すると安全です。Test の t と覚えると良いです。

ということで、tar コマンドはこんな感じで。

tar (c|x|t)zvf hoge.tar.gz [hoge1 hoge2 ...]
(参考)Manpage of TAR
http://www.linux.or.jp/JM/html/GNU_tar/man1/tar.1.html