Linux 命令(117)—— gzip 命令

1.命令簡介

gzip(GNU zip)命令用來壓縮和解壓縮文件,是在 Linux 系統中經常使用的一個對文件進行壓縮和解壓縮的命令,採用 Deflate(LZ77 + 哈夫曼編碼)無損壓縮算法壓縮爲後綴爲 .gz 的 gzip 文件。

gzip 不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和 tar 命令一起構成 Linux 操作系統中比較流行的壓縮文件格式。據統計,gzip 命令對文本文件有 60%~70% 的壓縮率。減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。

2.命令格式

gzip [ -acdfhlLnNrtvV19 ] [-S SUFFIX] [ NAME... ]

3.選項說明

-a --ascii
	使用 ASCII 文字模式。在轉換行末字符時使用本地約定。此選項僅在某些非 Unix 系統上支持。對於 MSDOS,壓縮時將 CR LF 轉換爲 LF,解壓縮時將 LF 轉換爲 CR LF
-c, --stdout, --to-stdout
	把壓縮後的文件輸出到標準輸出,不去變更原始文件
-d, --decompress, --uncompress
	解壓縮
-f, --force
	強制壓縮或解壓縮,即使文件具有多個鏈接或相應的文件已經存在,或者壓縮數據是從終端讀取或寫入終端的
-h, --help
	顯示幫助信息並退出
-l, --list
	列出壓縮文件的相關信息
-L, --license
	顯示版權信息並退出
-n, --no-name
	壓縮文件時,不保存原來的文件名稱及時間戳。解壓縮時,即使原文件名和時間戳存在也不還原。該選項爲解壓縮時的默認選項
-N, --name
	壓縮時,始終保存原始文件名和時間戳;這是默認的。解壓縮時,如果存在,則恢復原始文件名和時間戳。此選項對於限制文件名長度的系統或在文件傳輸後丟失時間戳的系統非常有用
-q, --quiet
	不顯示警告信息
-r, --recursive
	遞歸處理,將指定目錄下的所有文件及子目錄一併處理
-S, --suffix=SUFFIX
	更改壓縮後解壓縮後的文件的後綴名
-t, --test
	測試壓縮文件是否正確無誤
-v, --verbose
	顯示指令執行過程
-V, --version
	顯示版本信息並退出
-#, --best, --fast
	指定壓縮效果。壓縮率是一個介於 1~9 的數值,數值越大,壓縮率越高,壓縮速度越低,缺省爲 6。--best 等同於 -9,--fast 等同於 -1

4.常用示例

(1)不保留原文件壓縮。

gzip /etc/passwd

壓縮後的 /etc/passwd 將變爲 /etc/passwd.gz。

(2)保留原文件壓縮。

gzip -c /etc/passwd > passwd.gz

(3)壓縮時顯示指令執行過程。

gzip -v /etc/passwd
/etc/passwd:	 57.9% -- replaced with /etc/passwd.gz

(4)解壓 .gz 文件,不保留原文件。

gzip -dv /etc/passwd.gz
/etc/passwd.gz:	 57.9% -- replaced with /etc/passwd

(5)遞歸壓縮指定目錄下的所有文件。

ls dir
file1  file2  file3

gzip -rv dir
dir/file3:	-10.0% -- replaced with dir/file3.gz
dir/file2:	-25.0% -- replaced with dir/file2.gz
dir/file1:	-16.7% -- replaced with dir/file1.gz

參考文獻


[1] gzip(1) manual
[2] Linux 命令大全.gzip 命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章