ZIP†
$ zip out.zip target-file
$ zip -r out.zip target-dir
暗号化圧縮†
$ zip -e target -P
- 実行すると、解凍用のパスワードの入力を求められる。
- "-r" を付ければディレクトリを圧縮出来る。
$ unzip target.zip
tar + bzip2†
$ tar -cvjf out.tar.bz2 target
$ tar -xvjf target.tar.bz2
tar + xz†
- Debian 6.x のtarは xzをサポートしているが、CentOS6.x では未サポート。
$ tar -cvJf out.tar.xz target
$ tar -xvJf target.tar.xz
- xz単体の解凍には、zip のように unxz コマンドも使えるし、 bzip2 のように "xz -d" も使える。
高速圧縮†
tar + pbzip2†
$ tar -cvf out.tar.bz2 --use-compress-program pbzip2 in-file
- どれくらい差が出るか?
CPU | Core i7-3520M (4-Core) |
target | linux-2.6.32.65 (439MB) |
tar + pbzip2 | elapsed time | 17.510 [sec] | size | 68824777 |
tar + bzip2 | elapsed time | 38.542 [sec] | size | 68701378 |
tar + pigz†
$ tar -cvf out.tar.gz --use-compress-program pigz in-file
cpio†
- cpio には色々機能があるが、ここでは tar からの置き換えを前提に記述する
- 指定されたファイルを tar のように1個のファイルに纏める。
- 入力ファイルは全て標準入力から渡さなければならない。つまり、 tar ではディレクトリを指定したらその配下のファイルが全て対象になったが、cpio の場合は個別にファイルを指定しなければならない。
- 逆に考えれば、特定のパターンの名前を持ったファイルを個別に除外できる、という事でもある。
使い方†
cpio.xz を作成する†
$ find <target-dir> | cpio -o > <output-file>.cpio
$ xz <output-file>.cpio
<target-file>.cpio.xz を解凍する†
$ xz -d <target-file>.cpio.xz # この操作で <target-file>.cpio が出来る
$ cpio -i < <target-file>.cpio
<target-file>.cpio の中身を閲覧する†
- tar -tvf のように、内包するファイルのリストを表示させる
$ cpio -it < <target-file>.cpio
参考リンク†