備忘録として,LinuxなどUNIX系OSの圧縮・解凍に関するコマンドをまとめました. #contents * コマンド一覧 [#jbfa1e92] ** 解凍(伸展) [#n5066ebc] |~拡張子|~圧縮形式|~コマンド| |.tar.gz または .tgz|gzip|$ tar zxvf 解凍対象| |.tar.bz2 または .tbz|bzip2|$ tar jxvf 解凍対象| |.gz|gzip|$ gunzip 解凍対象 または $ gzip -d 解凍対象| |.bz2|bzip2|$ bunzip2 解凍対象 または $ bzip2 -d 解凍対象| |.lha または .lzh|LZH|$ lha x 解凍対象| |.zip|zip|$ unzip 解凍対象| |.jar|JAR|$ jar xf 解凍対象| ** 圧縮 [#p7a8cd2a] |~拡張子|~圧縮形式|~コマンド| |.tar.gz|gzip|$ tar zcvf ファイル名.tar.gz 圧縮対象| |.tar.bz2|bzip2|$ tar jcvf ファイル名.tar.bz2 圧縮対象| |.gz|gzip|$ gzip 圧縮対象| |.bz2|bzip2|$ bzip2 圧縮対象| |.lha|LZH|$ lha c ファイル名.lzh 圧縮対象| |.zip|zip|$ zip ファイル名.zip 圧縮対象| |.jar|JAR|$ jar cf ファイル名.jar 圧縮対象| * 各コマンドとそのオプションについて [#hbeec99c] ** tar [#x6b76be4] 特徴 - tar にはファイルをまとめる機能しかついていません - 複数のファイルをまとめただけのファイルをアーカイブファイル(tarfile)といいます - 大抵の場合 gzip フィルタを通して tar.gz のように gz 形式で圧縮します - 拡張子 tar.gz は tbz と省略されることもあります - より圧縮率の高い bzip2 フィルタを通したものが tar.bz2 です - 拡張子 tar.bz2 は tbz と省略されることもあります - 複数のファイルをまとめて圧縮することができます - ディレクトリをまとめて圧縮することができます 主なオプション - -c (create) : 新しいアーカイブを作成する - -x (extract) : アーカイブからファイルを抽出する - -v (verbose) : 処理したファイルの一覧を詳しく出力する - -z (gzip,unzip) : アーカイブを gzip にファルタする - -j (bzip2) : アーカイブを bzip2 にフィルタする ** gzip, gunzip [#m6632c98] 特徴 - gzip で圧縮されるファイルの拡張子は ,.tgz です - gunzip という解凍用コマンドも持っています - gnuzip が認識する拡張子は .gz,-gz,.z,-z,_z,.Z,.tgz,.taz です - tar のフィルタとしても使われます - 解凍は gunzip で行います 主なオプション - -d (decompress) : 解凍(伸展)する - -c (stdout) : 出力を標準出力に書き出し,元ファイルは変更しない - -l (list) : 圧縮された個々のファイルについての情報を列挙 - -r (recursive) : ディレクトリ構造を再帰的にたどる ** bzip2, bunzip2 [#vca00ac5] 特徴 - gzip より高い圧縮率を持っています - 解凍時に認識される拡張子は .bz2, .bz, .tbz2, .tbz です - tar のフィルタとしても使われます - 解凍は bunzip2 で行います 主なオプション - -d (decompress) : 解凍(伸展)する - -c (stdout) : 出力を標準出力に書き出し,元ファイルは変更しない - -z (compress) : 起動された名前にかかわらず圧縮 ** zip, unzip [#xcab159e] 特徴 - zip は Windows でよく使われる圧縮形式です - 解凍は unzip で行います - 複数のファイルをまとめて圧縮することができます ** lha [#n269b77b] 特徴 - lha は LZH の圧縮形式を扱います - LZH は Windows でよく使われる圧縮形式です - LZH は日本人によって作られた圧縮形式です - 複数のファイルをまとめて圧縮することができます 主なオプション - x : アーカイブファイルからファイルを抽出する - c : アーカイブファイルの作成する ** JAR [#r8b07d8d] 特徴 - J2SE SDKに含まれているコマンドです - Javaプログラムの実行に必要なクラスファイルやデータファイルを一つにまとめるために使われます 主なオプション - c : アーカイブを新規作成する - t : アーカイブの内容を一覧表示する - x : 指定の(またはすべての)ファイルをアーカイブから抽出する - u : 既存アーカイブを更新する - v : 標準出力に詳細な出力を生成する - f : アーカイブファイル名を指定する - m : 指定のマニフェストファイルからマニフェスト情報を取り込む - O : 格納のみ.ZIP 圧縮を使用しない - M : エントリのマニフェストファイルを作成しない - i : 指定の jar ファイルのインデックス情報を生成する - C : 指定のディレクトリに変更し,以下のファイルを取り込む