平成30/ 2018-10-24 06:44
Linux, 圧縮, 解凍, 2018.10.11

( なるべく zip 使いましょ )

zip -r 20181011.SERVER.zip 20181011.SERVER
( ディレクトリを圧縮 )
( zip を使うと .htaccess なども対象になるので便利( CentOS.7 の環境で ) )
( 64bit 対応の zip だと、4GB以上いけるとのこと )


unzip 20181011.SERVER.zip
( ディレクトリ解凍 )



( xz 形式の圧縮ファイルの解凍 )
( xz 形式だと、圧縮に時間かかるが、圧縮率が高いとのこと )

xz -dv xxx.tar.xz
tar xfv xxx.tar


( unzip )
( unzipは、4GBまでしかダメとのこと )
( CentOS.7.2 のとき、6GBだったけど、解凍できた )

unzip home.zip


( unzip でサイズオーバーのとき )
( CentOS.7.2 のとき、以下で解凍できず、unzip で解凍できた(6GBだったけど)
jar xf home.zip
で、OK!!




    ファイルの圧縮
    ----------
gzip zzz.txt
zzz.txt.gzとうファイルが作成される。
圧縮元のファイルは削除される。

既に、zzz.txt.gzというファイルが存在しているときはエラーが発生するので
事前に削除する必要ある。

gzip -9 で圧縮率を上げることができるが、
その効果と、圧縮時間を考えると、-9オプションつける意味があまり無いらしい。

再帰的に圧縮したいときは以下。
gzip /tmp2/bkup/*.sql
or
find /tmp2/bkup/*.sql | xargs gzip

=> Thanks.
圧縮ツールのパフォーマンスを測ってみた
http://lab.synergy-marketing.co.jp/blog/tech/compression_tools



( ディレクトリの圧縮 )

cd /home/zzz/

( find 使うと .htaccess など隠しファイルも対象となる )
tar cfz /home/zzz/bkup/www.tar.gz `find www -type f`

( 隠しファイル除外 )
tar cfz /home/zzz/bkup/aaa.tar.gz aaa

c = アーカイブを新規作成
z = gz圧縮
v = 処理詳細表示
f = アーカイブのファイル名を指定

圧縮元のファイル(この場合はaaa)は残る(削除されない)。

ちゃんとディレクトリを移動して相対パスで行うこと。

圧縮するときはフルパス使っちゃダメ。
上位ディレクトリからの構成で作成されるので
解凍後に上位ディレクトリを上書いてしまう可能性でてきてしまう。

圧縮元削除したい場合は

--remove-files

をつければOKとのこと(利用したことない)



( gzファイルの解凍 )

gunzip zzz.txt.gz

gzip -d zzz.txt.gz
でもいい。
-d は、decompress(非圧縮) の意味。

=> Thanks.
圧縮や展開
http://www.geocities.co.jp/SiliconValley-Oakland/4432/tip/tip_compress.html


#### tar.gzの中身を確認
tar.gzの中身を確認しないで解凍すると既存のファイルを上書きしてしまう可能性がある。
なので解凍する前に中身を確認しよう。
tar tvfz aaa.tar.gz
drwxrwxr-x simiz.biz/simiz.biz 0 2013-12-26 12:23:42 aaa/
drwxrwxr-x simiz.biz/simiz.biz 0 2013-12-26 12:23:42 aaa/bbb/
drwxrwxr-x simiz.biz/simiz.biz 0 2013-12-26 12:23:57 aaa/bbb/ccc/
-rw-rw-r-- simiz.biz/simiz.biz 12 2013-12-26 12:23:57 aaa/bbb/ccc/test.php



( ディレクトリの解凍 )

tar pzxf zz.jp.tar.gz

p = パーミッションを可能な限り保持できる
x = 書庫からファイルを取り出す



( zipコマンドもあるが、
ファイルが大きいときや、OS環境によって
エラーがでて解凍できないケースがあったので
使いたくない。
gzip がいい。
)


#### 圧縮率
xz > bzip2 > gzip
の順で圧縮率が高い。
しかし、圧縮に時間かかるし
サーバ負荷もかかる。
gzip がいい。




#### bzip2
>> compress
tar cjf hoge.tar.bz2 hoge

>> extract
tar jxvf hoge hoge.tar.bz2


|
| gzip --help
|----------
Usage: gzip [OPTION]... [FILE]...
Compress or uncompress FILEs (by default, compress FILES in-place).

Mandatory arguments to long options are mandatory for short options too.

  -c, --stdout      write on standard output, keep original files unchanged
  -d, --decompress  decompress
  -f, --force       force overwrite of output file and compress links
  -h, --help        give this help
  -k, --keep        keep (don't delete) input files
  -l, --list        list compressed file contents
  -L, --license     display software license
  -n, --no-name     do not save or restore the original name and time stamp
  -N, --name        save or restore the original name and time stamp
  -q, --quiet       suppress all warnings
  -r, --recursive   operate recursively on directories
  -S, --suffix=SUF  use suffix SUF on compressed files
  -t, --test        test compressed file integrity
  -v, --verbose     verbose mode
  -V, --version     display version number
  -1, --fast        compress faster
  -9, --best        compress better
  --rsyncable       Make rsync-friendly archive

With no FILE, or when FILE is -, read standard input.


#### Thanks.
How to unzip files bigger than 4GB?
http://serverfault.com/questions/235139/how-to-unzip-files-bigger-than-4gb

圧縮 解凍 コマンド一覧
http://www.bnote.net/linux/compress.shtml

Linux で tar.xz 形式のファイルを解凍する
http://qiita.com/ymaru/items/87fbc4e68f5995d3964c