MacBook AirのSSDが突然お亡くなりになったとか流れてきて怖いなぁって思って、しこしことDropBoxに移動しています。
Premium万歳。
Bitcasaも魅力的。
でも、金欠なので涙目。
とりあえずほぼお目見えすることのないファイルは圧縮して容量節減しようと思いたって、このエントリを書きました。
tarでまとめたほうが大量のファイルをちまちま転送するよりも効率的ですしね。
オプションとかの物忘れ激しいので自分用のユーティリティとしてまとめておきます。
圧縮・解凍の体系
大層なものでもないですが、基本的に以下の体系を持っています。
少なくとも私の使い道ではですが・・・。
- Linux系
基本的にtarの合わせ技で使うことが多い。- gzip: 一般的な圧縮率。
- bzip2: より強力な圧縮。時間がかかる。
- zip: あんまり使わないなあ。。。
- Windows系
- zip: 普通はこれで圧縮解凍する。
- 7z
- 何より圧縮率が高くて重宝する。
- 機密情報を扱ったりするときはAES暗号をかまして、自己解凍書庫形式にして送る。
お客様の環境に7zipが入っていないことはよくあるので、exeにします。 拡張子そのままだとリジェクトされる可能性が高いので拡張子に細工します。 正直zipのencryptionは心配です。
- lzh: 過去の遺物。ネット黎明期に異常に流行った。
2GB超のファイルとかは7z形式で取り扱います。
仮想マシンとかバックアップしようとして以前ハマったのですが、2GB超のファイルをzipで圧縮しようとすると書庫がかなり高い確率でぶっ壊れます。
Windowsだと巨大なファイルを扱う形式としてわりと自分の中で一般的なのですが、Linuxだとtarでいったんファイルを全部まとめてからgzipで圧縮かけるので、書庫は壊れなかった気がするのですが、どうなんでしょう。
少なくともtarでファイルの一覧を固めるだけでは壊れることはないようです。
さてさて、本題のTipsに参りたいと思います。
フォルダとかまるごと
c
をつける。
圧縮 tar.gzip
tar cvzf hogehoge.tar.gz hogehoge/
めっちゃ圧縮 tar.bzip2
以前は y
がbzip2圧縮のトリガーになっていましたが、今は j
になっています。
tar cvjf hogehoge.tar.bz2 hogehoge/
解凍
x
をつける。
gzip
tar xvzf hogehoge.tar.gz
bzip2
tar xvjf hogehoge.tar.bzip2
単一ファイル
pending.
- 元ファイルを残さない版
gzip result.txt
bzip2 -z マイノート-201309141059.enex
- 元ファイルを残したい版
gzipより少し時間がかかる。
- 元ファイルを残さない版
bzip2 マイノート-201309141059.enex
- 元ファイルを残したい版
-c
オプションを付ける。
bzip2 -c マイノート-201309141059.enex
展開
gzip
- 元ファイルを残さない版
gzip -d result.txt.gz
- 元ファイルを残す版
gzip -dc result.txt.gz >result.txt
bzip2
-d
(decompress)です。
- 元ファイルを残さない版
bzip2 -d result.txt.bz2
- 元ファイルを残す版
bzip2 -dc result.txt.bz2 >result.txt
以上です。
適宜メモりたいものが出たらここに追加していきます。
Tips
圧縮解凍テスト用のファイルの準備の仕方。
適当な内容のファイルを準備する私なりのやり方。
そのまま待ってるとディスクを全部使いきるまで終わらないので Ctrl+C
で終了させてくださいw
- ひたすらyを書き込む
yes > result.txt
- ランダムなバイナリを書き込む
cat /dev/urandom > result2.txt