今日の人気記事

  1. ssh - リモートマシンにSSHでログイン - Linuxコマンド
  2. tar - アーカイブの作成・展開 - Linuxコマンド
  3. rsync - 高速なファイル同期(バックアップ) - Linuxコマンド
  4. ファイルの解凍・圧縮 - Linuxコマンド一覧(.zip .gz .Z .bz2 tar.gz .tgz tar.Z .taz .tar.bz2 .tbz2)
  5. gzip - ファイルを圧縮・展開 - Linuxコマンド

gzip - ファイルを圧縮・展開 - Linuxコマンド

スポンサーリンク

gzipコマンドは、ファイルを圧縮・展開するコマンドです。

gzipコマンド

書式

gzip [オプション] [ファイル名]

指定したファイルをLempel-Ziv(LZ77)というアルゴリズムを用いて圧縮します。

gzipコマンドで圧縮したファイルには、拡張子 .gzを付け、tarコマンドでアーカイブ化したファイルには、拡張子 .tar.gz または .tgz を付けます。

スポンサーリンク

オプション

-aWindowsで利用する場合のために圧縮時に改行コードを「CR LF」から「LF」に、展開時に「LF」から「CR LF」に変更します。
-c圧縮結果を標準出力に表示します。
-d圧縮されたファイルを展開します。gunzipコマンドと同等。
-fファイルが既に存在する場合は上書きします。
-l圧縮されたファイルの情報(サイズ、圧縮率、ファイル名)を表示します。
-r指定したディレクトリ内のファイルを圧縮します。

使用例

ファイルを圧縮します。

$ gzip file 
$ ls
file.gz

圧縮されたファイルを展開します。

$ gzip -d file.gz 
$ ls
file

複数のファイルを圧縮します。

$ gzip file1 file2 
$ ls
file1.gz  file2.gz

複数のファイルやディレクトリごと、ひとつのアーカイブファイルに圧縮したい場合は「tarコマンド」で複数のファイルやディレクトリをひとつのファイルに変換してから圧縮します。

$ tar -cf archive.tar dir
$ ls
dir  archive.tar
$ gzip archive.tar 
$ ls
archive.tar.gz  dir

$ tar -cf archive.tar dir; gzip archive.tar ← 複数のコマンドを連続して実行することもできます。
$ ls
archive.tar.gz  dir

もしくは、tarコマンドで一発でtar.gz形式に圧縮します。

$ tar cfvz archive.tar.gz dir
dir/
dir/dir2/
dir/dir2/file2
dir/file1
$ ls
dir  archive.tar.gz

指定ディレクトリ内のファイルを圧縮します(オプション -r)。指定したディレクトリ内のファイルのみが圧縮されます。

$ gzip -r dir
$ ls -R dir
dir:
dir2  file1.gz

dir/dir2:
file2.gz

指定したディレクトリ内のファイルを展開します(オプション -dr)。

$ gzip -dr dir
$ ls -R dir
dir:
dir2  file1

dir/dir2:
file2

関連コマンド

スポンサーリンク