CentOS

【Linux】よく使う圧縮・解凍コマンドまとめ

tarとかtgzとかxzとか圧縮・解凍するときのコマンドをちょくちょく忘れるのでメモとして残しておきます。

1.tar.gz/tgz

linux上だと一番使う機会が多いやつ。デフォルトで使えるから便利です。

構文

# 圧縮
tar cvfz <圧縮後のファイル名> <圧縮したいファイル・ディレクトリ>

# 解凍
tar xvfz <解凍したいファイル名>


例文

# ./xxx/ディレクトリを./xxx.tar.gzとして圧縮する。
tar cvfz ./xxx.tar.gz ./xxx/


# xxx.tar.gzをカレントディレクトリに解凍する。
tar xvfz ./xxx.tar.gz

# xxx.tar.gzをディレクトリ指定でディレクトリ./yyy/に解凍する。
tar xvfz ./xxx.tar.gz -C ./yyy/

※tar.gzとかtgzとかの拡張子はなくても動作しますが、付けてるのが無難かと。。。

2.gz

tar.gzの単一ファイル版ですね。(tar.gzの方が良く見かける気はしますが)
拡張子は”.gz”です。

構文

# 圧縮
gzip <圧縮したいファイル>

# 解凍
gunzip <解凍したいファイル名>


例文

# aaa.txtをaaa.txt.gzに圧縮する
gzip aaa.txt

# aaa.txt.gzをaaa.txtに解凍する
gunzip aaa.txt.gz

デフォルトだと圧縮元/解凍元のファイルは消えるので、残しておきたい場合は-kオプションを使用します。

# aaa.txt.gzを残したままaaa.txtに解凍
gunzip -k aaa.txt.gz

3.zip

tar.gzに並んでよく見かける形式。環境によって後述のインストールが必要な場合があります。

構文

# 圧縮
zip -r <圧縮後のファイル名> <圧縮したいディレクトリ・ファイル>

# 解凍
unzip <解凍したいファイル名>


例文

# ./xxx/ディレクトリをxxx.zipとして圧縮する。
zip -r xxx.zip ./xxx/


# xxx.zipを解凍する。
unzip xxx.zip

# xxx.zipをディレクトリ指定でディレクトリ./yyy/に解凍する。
unzip xxx.zip -d ./yyy/

※圧縮後のファイル名は”.zip”を自動でつけてくれます。(私は自分でつける派です)

zip/unzipコマンドが使えない場合

以下のパッケージをインストールしてください。

# RHELとかCentの場合
yum install zip unzip

# Ubuntuとかの場合
apt-get install zip unzip

4.tar.xz

圧縮率が高いらしいです。環境によって後述のインストールが必要な場合があります。

構文

# 圧縮
tar Jcvf <圧縮後のファイル名> <圧縮したいファイル・ディレクトリ>

# 解凍
tar Jxvf <解凍したいファイル名>


例文

# ./xxx/ディレクトリをxxx.tar.xzとして圧縮する。
tar Jcvf xxx.tar.xz ./xxx/


# xxx.tar.xzを解凍する。
tar Jxvf xxx.tar.xz

# xxx.tar.xzをディレクトリ指定でディレクトリ./yyy/に解凍する。
tar Jxvf xxx.tar.xz -C ./yyy/

※xz形式で圧縮されたファイルにgzの拡張子がつけられているとブチ切れます。

xzコマンドが使えない場合

以下のパッケージをインストールしてください。

# RHELとかCentの場合
yum install xz

# Ubuntuとかの場合
apt-get install xz-utils

コメント

タイトルとURLをコピーしました