Linux/macOSXの圧縮・解凍コマンドを極める
今回は圧縮・解凍に関するコマンド操作ネタ。
普段一番よく使うのは解凍関係のコマンドで、圧縮関係は意外と忘れやすい筆者です。
ただ増えるログなどは圧縮するのにスクリプト内で使うこともあるので自身の備忘も兼ねて整理して記載します。
今回はLinux/macOSXにおける「tar.gz」、「zip」、「rar」、「7zip」の基本的な
圧縮解凍系コマンドを紹介します。
*.tar.gzの場合
Linuxを触っていると一番多いのがこの形式ですね。
tarコマンドはインストール後には標準で含まれていると思いますので追加インストールは不要です。
ファイルをアーカイブする
アーカイブは複数ファイルを一つにまとめることである。
アーカイブは圧縮されていない状態。
$ tar -cf - *.log
ファイルを圧縮する
「z」オプションを追加し、上記のアーカイブを続けて圧縮します。
$ tar -zcf /tmp/all_log.tar.gz *.log
上記に「v」オプションを付けると圧縮工程が可視化されます。
$ tar -zvcf /tmp/all_log.tar.gz *.log
または以下のようにgzipと組み合わせて圧縮します。
$ tar -cf - *.log | gzip -c > /tmp/all_log.tar.gz
ファイルを解凍する
$ tar -xzf /tmp/all_log.tar.gz
上記に「v」オプションを付けると解凍工程が可視化されます。
$ tar -xvzf /tmp/all_log.tar.gz
または以下のようにgunzipと組み合わせて解凍します。
$ gunzip -c /tmp/all_log.tar.gz | tar -xf -
*.zipの場合
zip形式の場合はtar.gz形式に比べると簡単だと思います。
インストールされていない場合は以下でインストールします。
$ sudo apt-get install zip unzip
$ sudo pacman -S zip unzip
ファイルを圧縮する
一つのファイルをzip圧縮する。
$ zip all_log file_01.log
次に複数ファイルを圧縮する場合。
$ zip all_log file_01.log file_02.log
圧縮時にパスワードをかける場合
$ zip -e all_log file_01.log
Enter password:
Verify password:
adding: all_log (deflated 36%)
ファイルを解凍する
$ unzip all_log.zip
*.rarの場合
rar形式もたまに見かけますよね、Windows向けのアプリのWinRarは有名ですが、
Linuxでもrar形式の圧縮解凍は可能です。
ArchLinux系のインストールは以下
$ sudo pacman -S unrar
ファイルを圧縮する
rarを使います。
$ rar a all_log.rar file_01.log file_02.log
フォルダ全体の場合
$ rar a all_log.rar *
ファイルを解凍する
unrarを使います。
$ unrar x all_log.rar
*.7zの場合
いよいよ最後に、7zip形式のLinuxでの圧縮解凍手順を紹介します。
Ubuntu系のインストールは以下
$ sudo apt-get install p7zip-full
ArchLinux系のインストールは以下
$ sudo pacman -S p7zip
ファイルを圧縮する
$ 7z a all_log.7z file_01.log file_02.log
ファイルを解凍する
7z x archive4.7z
と言うわけで、今回は、tar.gz、zip、rar、7zipの基本的な圧縮解凍コマンドを紹介しました。
tar.gzはよく使うコマンドだと思いますが、他も覚えておいて損はないでしょう。
上記は基本的な使い方ですので、詳細はオプションやヘルプなどを参照してください。
何かの参考になれば幸いです。