1. 程式人生 > >Linux中使用gzip來壓縮/解壓 *.gz檔案

Linux中使用gzip來壓縮/解壓 *.gz檔案

gzip 是linux中常見的壓縮/解壓工具,最常見的使用物件是*.gz格式的檔案,這裡簡單介紹下它最常見的用法,

GZIP(1) General Commands Manual GZIP(1)

NAME
     gzip, gunzip, zcat - compress or expand files

SYNOPSIS
gzip [ -acdfhklLnNrtvV19 ] [--rsyncable] [-S suffix] [ name ... ]
gunzip [ -acfhklLnNrtvV ] [-S suffix] [ name ... ]
zcat [ -fhLV ] [ name ... ]

OPTIONS
-c --stdout --to-stdout 結果寫到標準輸出,原檔案保持不變
-d --decompress --uncompress 解壓
-k --keep 壓縮或者解壓過程中,保留原檔案
-r --recursive
-t --test 檢查壓縮檔案的完整性
-v --verbose 顯示每個檔案的名子和壓縮率
-# --fast --best 取值從-1(最快)到-9(最好),預設是-6

示例1,壓縮檔案

原檔名為file1.txt,壓縮後原檔案消失,壓縮後文件名為file1.txt.gz
[email protected]:/tmp# ls -l file1.*
-rw-r--r-- 1 root root 12383865 Aug 21 08:08 file1.txt
[email protected]:/tmp# gzip file1.txt
[email protected]:/tmp# ls -l file1.*
-rw-r--r-- 1 root root 134416 Aug 21 08:08 file1.txt.gz

示例2,解壓檔案
[email protected]
:/tmp# gzip -d file1.txt.gz
[email protected]:/tmp# ls -lh file1.*
-rw-r--r-- 1 root root 12M Aug 21 08:08 file1.txt

示例3,壓縮的時候,顯示壓縮率
[email protected]:/tmp# gzip -v file1.txt
file1.txt: 98.9% -- replaced with file1.txt.gz

示例4,一條命令壓縮多個檔案,壓縮之後,是各自分開的:
[email protected]:/tmp# gzip file1.txt file2.txt

[email protected]:/tmp# ls -l
total 1348
-rw-r--r-- 1 root root 134416 Aug 21 08:08 file1.txt.gz
-rw-r--r-- 1 root root 392 Aug 21 08:15 file2.txt.gz

示例5,壓縮過程中,保留原檔案
[email protected]:/tmp# gzip -k file1.txt
[email protected]:/tmp# ls file1.*
file1.txt file1.txt.gz

示例6,壓縮到標準輸出中
可以連線兩個檔案
[email protected]:/tmp# cat file1.txt file2.txt | gzip > foo.gz
或者
[email protected]:/tmp# gzip -c file1.txt file2.txt > foo.gz