はじめに
よく使う割にいつもネットで調べるはめになるので、、
このタイミングで、Mac Terminalでの圧縮と解凍コマンドをメモっておく*1。
色々とデータ圧縮方式 / アーカイブ方式について、まとめてみました。
LINUX/Macの基本コマンドの関連記事
.zip
について
.zip
は、Windowsでよく使用される、データ圧縮やアーカイブのフォーマットの1つである。
Macの場合、control + クリック
で、「・・・を圧縮」という選択があって、zip
圧縮できる。
ただ、zip
コマンドでは、4GB以上のファイルが圧縮できないので、それ以上の容量のファイル圧縮には、.tar.gz
形式などを使用する*2*3。
いちおうコマンドだと、、、
zip
コマンドによるzip圧縮
zip [File name]
unzip
コマンドによるzip解凍
unzip [File name]
.tar
について
tar
は、Tape Archival and Retrieval formatの略である。
.tar
ファイルは、データ圧縮は行われておらず、複数のフォルダ・ファイルを1つにまとめられたアーカイブ・ファイルである*4。
tar
コマンドによるtarアーカイブ化(非圧縮)
「XXXX.tar」としてアーカイブ化する場合
tar -cvf XXXX.tar [File1] [File2] [File3]
オプション
c
: 新規作成(圧縮)する
v
: 処理したファイルの一覧表示
f
: 指定ファイルを使用する
[File1] [File2] [File3]
: 圧縮したいファイル(フォルダも可)
tar
コマンドによるtarアーカイブ解凍
「XXXX.tar」をアーカイブ解凍する場合
tar -xvf XXXX.tar
オプション
x
: 解凍する
.gz
について
gzip
コマンドによるgzip
圧縮
gzip [File1] #OR #inputファイルを残して、圧縮する場合 gzip -k [File1]
複数のファイルを圧縮する場合
gzip [File1] [File2] [File3]
この場合、それぞれ別のgz
ファイルとして保存される
つまり、gzip
コマンドでは、ファイルの圧縮はできるが、
ファイルをまとめるアーカイブ化はできない。
gunzip
コマンドで、gzip
圧縮をもとに戻す
「XXXX.gz」を解凍する場合
gunzip XXXX.gz #OR gzip -d XXXX.gz #inputファイルを残して、解凍する場合 gunzip -k XXXX.gz #OR gzip -d -k XXXX.gz
.tar.gz
について
.tar.gz
とは、tar
でアーカイブ化して、 gzip
圧縮することを意味する。
tar
コマンドによるtar.gz
圧縮
「XXXX.tar.gz」として、tar.gz
圧縮アーカイブ化する場合
tar -zcvf XXXX.tar.gz [File1] [File2] [File3] #あるいは tar acvf XXXX.tar.gz [File1] [File2] [File3]
オプション
z
: gzipの意味
cvf
: tarアーカイブ化
[File1] [File2] [File3]
: 圧縮したいファイル(フォルダも可)
a
: 拡張子による圧縮方式の自動判定
オプションの「-」
: tarの場合、省略可
拡張子は、「.tar.gz
」または「.tgz
」が可
tar
コマンドによるtar.gz
解凍
「XXXX.tar.gz」をgzip
解凍して、tar
アーカイブを戻す場合
tar -zxvf xxxx.tar.gz #あるいは tar axvf xxxx.tar.gz
オプション
z
: gzipの意味
xvf
: tarアーカイブの解凍
a
: 拡張子による圧縮方式の自動判定
オプションの「-」
: tarの場合、省略可
拡張子は、「.tar.gz
」または「.tgz
」が可
.bz2
について
bzip2
コマンドで、bzip2
圧縮ができる。
bzip2
は、「gzip
」よりも圧縮率が良いらしい。
bzip2
コマンドによるbzip2
圧縮
bzip2 -z [File1]
-z
: 圧縮を行う(デフォルトなので省略化)
※ フォルダごとの圧縮は不可
任意のファイル名保存で、bzip2
圧縮を行う場合
bzip2 [File] > xxxx.bz2
bunzip2
コマンドによるbzip2
解凍
「XXXX.bz2」を解凍する場合
bunzip2 XXXX.bz2 #あるいは(おそらく) bzip2 -d XXXX.bz2 > [File] #元ファイルを残して、解凍する場合 bunzip2 -k XXXX.bz2
オプション
-d
: 伸張を行う
.tar.bz2
について
.tar.bz2
とは、tar
でアーカイブ化して、 bzip2
圧縮することを意味する。
tar
コマンドによるtar.bz2
圧縮
「XXXX.tar.bz2」として、tar.bz2
圧縮アーカイブ化する場合
tar -jcvf XXXX.tar.bz2 [File1] [File2] [File3] #あるいは tar acvf XXXX.tar.bz2 [File1] [File2] [File3]
オプション
j
: bzip2の意味
cvf
: tarアーカイブ化
[File1] [File2] [File3]
: 圧縮したいファイル(フォルダも可)
a
: 拡張子による圧縮方式の自動判定
オプションの「-」
: tarの場合、省略可
※ フォルダごとの圧縮が可能
tar
コマンドによるtar.bz2
解凍
「XXXX.tar.bz2」をbz2
解凍して、tar
アーカイブを戻す場合
tar -jxvf xxxx.tar.bz2 #あるいは tar axvf xxxx.tar.bz2
オプション
j
: bzip2の意味
xvf
: tarアーカイブの解凍
a
: 拡張子による解凍方式の自動判定
オプションの「-」
: tarの場合、省略可
.tar.xz
について
.tar.xz
とは、tar
でアーカイブ化して、 xz
圧縮することを意味する。
xz
圧縮は、「gz
」「bz2
」よりも圧縮率が良いらしい。
tar
コマンドによるtar.xz
圧縮
「XXXX.tar.xz」として、tar.xz
圧縮アーカイブ化する場合
tar -Jcvf XXXX.tar.xz [File1] [File2] [File3] #あるいは tar acvf XXXX.tar.xz [File1] [File2] [File3]
オプション
J
: xzの意味、jの大文字
cvf
: tarアーカイブ化
[File1] [File2] [File3]
: 圧縮したいファイル(フォルダも可)
a
: 拡張子による圧縮方式の自動判定
オプションの「-」
: 省略可能
tar
コマンドによるtar.xz
解凍
「XXXX.tar.xz」をxz
解凍して、tar
アーカイブを戻す場合
tar -Jxvf xxxx.tar.xz #あるいは tar axvf xxxx.tar.xz
xz圧縮の意味
J
: xzの意味
xvf
: tarアーカイブの解凍
a
: 拡張子による解凍方式の自動判定
オプションの「-」
: 省略可能
まとめ
よくよく全体をまとめてみると、拡張子さえちゃんと決めてあげれば、「tar acvf
」と「tar axvf
」で、
ファイル圧縮・解凍は問題ないこと分かった。
補足
tarは何の略?
tar(ター)は、ファイルアーカイブのファイルフォーマットの一つで、tape archivesの略です。 また、このファイルフォーマットを処理するUNIXコマンドである、tarも意味します。
gzipは何の略?
gzip(ジー・ジップ)は、圧縮データのフォーマットあるいはデータ圧縮プログラムの1つで、「GNU zip」の略です。