Last Update: January 02 2003

 
 


 

ターミナルからのtar.gz圧縮と解凍

基本的にtar.gzの解凍はStuffitExpanderがやってくれますが圧縮はやってくれません。「.sitでいいじゃん」といわれそうですがこんくらいはマスターしませう。やはり、UNIXですからシステムをいじるつもりで使っている人は解凍と圧縮方法くらいはわかっておいたほうがいいでしょう。MacOSしか使ってこなかった方はコマンドラインからの操作は知らない方も多いと思うのでここで解説しておきます。

拡張子

種別

コマンド指定方法

tar

圧縮

tar cvf xxxx.tar ./xxxx

解凍

tar xvf xxxx.tar

gz

圧縮

gzip xxxx (xxxx.gzが出来上がる)

解凍

gunzip xxxx.gz

Z

圧縮

compress -vf ./xxxx

解凍

compress -d xxxx.Z
uncompress xxxx.Z
zcat aaa.Z > ./xxxx

tar.gz

圧縮

tar cvzf xxxx.tar.gz ./xxxx

解凍

tar xvzf xxxx.tar.gz

慣れればなんてことはないですね。tar(gtar)圧縮もそうですがtarのあとに来る文字は作成するtarボールの名前です。よく間違えて圧縮する元のファイルをここで指定してしまいがちですが、「tar 圧縮後のファイル名 圧縮するファイル名」ですので注意してください。tar.gzが一番ポピュラーなのでこれだけ覚えていても問題ないでしょう。圧縮オプションのcはCompress、解凍のxはExtractのxです。

v は圧縮・解凍中のファイル名を表示するかしないかを
z はgzipで圧縮するかしないかを(tar.gzの時は必須つけないとtar.gzやtgzがtarまでしか解凍されません)
f はファイル名を指定するときにつけるオプションです。fは省略してもいいように思えますが、「色々な事情」によりつけなくてはいけません。
圧縮も解凍もvzfは共通なので決り文句で覚えてしまいましょう。

gtarというのはtarファイルをgzで再度圧縮しているだけです。tarしたあとにgzでまた圧縮するのもアホらしいのでgtarで一気にやってしまおうというわけです。コマンドラインでいくつかのtarボールを作る際は最後に「&」をつけるとバックグラウンドで処理してくれます。ターミナルをいくつも立ち上げるのもうっとおしいですからね。

tar cvzf xxxx.tar.gz ./xxxx &

vオプションをつけた場合は圧縮している最中のファイル名が出てきますが無視してタイプしていいです。メッセージが邪魔なときはCtrl+Lで現在入力中のコマンドラインだけが表示されます。
バックグラウンドで動作中のプロセス一覧はjobsコマンドで見えます。CEOもこんな名前ですね・・・

$ jobs ※ジョブの状態を見る
[2] + Suspended        hogehoge hoge

$ bg 2 ※ジョブをバックグランドに回す
[2]  hogehoge hoge &

$ fg 2 ※バックグランドジョブをフォアグラウンド(表)に回す
....

1GB近くのファイルをgtarで圧縮してみたところ処理が非常に早かったです。MacOS9のDropStuffでは1つずつしか圧縮できない上に(やろうと思えば並列処理できますけど)結構時間がかかりました。今回の方法で試してみたところ4つまとめて出来てしかも早かったように思います。気分的な問題もあると思いますけど。



分からない点があれば掲示板に書き込んでみてください。

戻る