用示例講解Linux gunzip命令
我們已經(jīng)討論過(guò) Linux 下 gzip 命令的用法。對(duì)于初學(xué)者來(lái)說(shuō),gzip
工具主要用于壓縮或者展開(kāi)文件。解壓時(shí),在 gzip
命令后添加 -d
選項(xiàng)即可,使用示例如下:
gzip -d [compressed-file-name]
不過(guò),在解壓或擴(kuò)展 gzip 創(chuàng)建的壓縮文件時(shí),有另一款完全不同的工具可供使用。談及的這款工具就是 gunzip
。在本文中,我們會(huì)使用一些簡(jiǎn)單、易于理解的例子來(lái)解釋 gunzip
命令的用法。文中所有示例及指南都在 Ubuntu 16.04 環(huán)境下測(cè)試。
Linux gunzip 命令
我們現(xiàn)在知道壓縮文件可以用 gzip -d
或 gunzip
命令解壓?;镜?gunzip
語(yǔ)法為:
gunzip [compressed-file-name]
以下的 Q&A 例子將更清晰地展示 gunzip
工具如何工作:
Q1. 如何使用 gunzip 解壓壓縮文件?
解壓命令非常簡(jiǎn)單,僅僅需要將壓縮文件名稱作為參數(shù)傳遞到 gunzip
命令后。
gunzip [archive-name]
比如:
gunzip file1.gz
如何使用 gunzip 解壓壓縮文件?
Q2. 如何讓 gunzip 不刪除原始?jí)嚎s文件?
正如你已注意到的那樣,gunzip
命令解壓后會(huì)刪除原始?jí)嚎s文件。如果你想保留原始?jí)嚎s文件,可以使用 -c
選項(xiàng)。
gunzip -c [archive-name] > [outputfile-name]
比如:
gunzip -c file1.gz > file1
如何讓 gunzip 不刪除原始?jí)嚎s文件?
使用這種方式,原壓縮文件不會(huì)被刪除。
Q3. 如何用 gunzip 解壓文件到其他路徑?
在 Q&A 中我們已經(jīng)討論過(guò) -c
選項(xiàng)的用法。 使用 gunzip 解壓文件到工作目錄外的其他路徑,僅需要在重定向操作符后添加目標(biāo)目錄的絕對(duì)路徑即可。
gunzip -c [compressed-file] > [/complete/path/to/dest/dir/filename]
示例如下:
gunzip -c file1.gz > /home/himanshu/file1
更多信息
以下從 gzip/gunzip 的 man 頁(yè)中摘錄的細(xì)節(jié),對(duì)于想了解更多的人會(huì)有所助益。
gunzip
在命令行接受一系列的文件,并且將每個(gè)文件內(nèi)容以正確的魔法數(shù)開(kāi)始,且后綴名為.gz
、-gz
、.z
、-z
或_z
(忽略大小寫)的壓縮文件,用未壓縮的文件替換它,并刪除其原擴(kuò)展名。gunzip
也可識(shí)別一些特殊擴(kuò)展名的壓縮文件,如.tgz
和.taz
分別是.tar.gz
和.tar.Z
的縮寫。在壓縮時(shí),gzip
在必要情況下使用.tgz
作為擴(kuò)展名,而不是只截取掉.tar
后綴。
gunzip
目前可以解壓gzip
、zip
、compress
、compress -H
(pack
)產(chǎn)生的文件。gunzip
自動(dòng)檢測(cè)輸入文件格式。在使用前兩種壓縮格式時(shí),gunzip
會(huì)檢驗(yàn) 32 位循環(huán)冗余校驗(yàn)碼(CRC)。對(duì)于 pack 包,gunzip
會(huì)檢驗(yàn)壓縮長(zhǎng)度。標(biāo)準(zhǔn)壓縮格式在設(shè)計(jì)上不允許相容性檢測(cè)。不過(guò)gunzip
有時(shí)可以檢測(cè)出壞的.Z
文件。如果你解壓.Z
文件時(shí)出錯(cuò),不要因?yàn)闃?biāo)準(zhǔn)解壓沒(méi)報(bào)錯(cuò)就認(rèn)為.Z
文件一定是正確的。這通常意味著標(biāo)準(zhǔn)解壓過(guò)程不檢測(cè)它的輸入,而是直接產(chǎn)生一個(gè)錯(cuò)誤的輸出。SCO 的compress -H
格式(lzh 壓縮方法)不包括 CRC 校驗(yàn)碼,但也允許一些相容性檢查。
結(jié)語(yǔ)
到目前為止提到的 gunzip
基本用法,并不需要過(guò)多的學(xué)習(xí)曲線。我們已包含了一個(gè)初學(xué)者開(kāi)始使用它所必須了解的幾乎全部知識(shí)。想要了解更多的用法,去看 man 頁(yè)面 吧。