
はじめに
よく使う割にいつもネットで調べるはめになるので、、
このタイミングで、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」の略です。