溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中如何使用 gzip命令實(shí)現(xiàn)壓縮文件

發(fā)布時(shí)間:2020-11-07 16:08:56 來源:億速云 閱讀:346 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)Linux系統(tǒng)中如何使用 gzip命令實(shí)現(xiàn)壓縮文件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

gzip 是 Linux 系統(tǒng)中經(jīng)常用來對(duì)文件進(jìn)行壓縮和解壓縮的命令,通過此命令壓縮得到的新文件,其擴(kuò)展名通常標(biāo)記為“.gz”。

再?gòu)?qiáng)調(diào)一下,gzip 命令只能用來壓縮文件,不能壓縮目錄,即便指定了目錄,也只能壓縮目錄內(nèi)的所有文件。

gzip 命令的基本格式如下:

[root@localhost ~]# gzip [選項(xiàng)] 源文件

命令中的源文件,當(dāng)進(jìn)行壓縮操作時(shí),指的是普通文件;當(dāng)進(jìn)行解壓縮操作時(shí),指的是壓縮文件。該命令常用的選項(xiàng)及含義如表 1 所示。

表 1 gzip 命令常用選項(xiàng)及含義

選項(xiàng)含義
-c將壓縮數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出中,并保留源文件。
-d對(duì)壓縮文件進(jìn)行解壓縮。
-r遞歸壓縮指定目錄下以及子目錄下的所有文件。
-v對(duì)于每個(gè)壓縮和解壓縮的文件,顯示相應(yīng)的文件名和壓縮比。
-l對(duì)每一個(gè)壓縮文件,顯示以下字段:
  • 壓縮文件的大小;
  • 未壓縮文件的大??;
  • 壓縮比;
  • 未壓縮文件的名稱。
-數(shù)字用于指定壓縮等級(jí),-1 壓縮等級(jí)最低,壓縮比最差;-9 壓縮比最高。默認(rèn)壓縮比是 -6。

【例 1】基本壓縮

gzip 壓縮命令非常簡(jiǎn)單,甚至不需要指定壓縮之后的壓縮包名,只需指定源文件名即可。我們來試試:

[root@localhost ~]# gzip install.log
#壓縮instal.log 文件
[root@localhost ~]# ls
anaconda-ks.cfg install.log.gz install.log.syslog
#壓縮文件生成,但是源文件也消失了

【例 2】保留源文件壓縮

在使用 gzip 命令壓縮文件時(shí),源文件會(huì)消失,從而生成壓縮文件。這時(shí)有些人會(huì)有強(qiáng)迫癥,就逼問筆者:能不能在壓縮文件的時(shí)候,不讓源文件消失?好吧,也是可以的,不過很別扭。

[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz
#使用-c選項(xiàng),但是不讓壓縮數(shù)據(jù)輸出到屏幕上,而是重定向到壓縮文件中,這樣可以縮文件的同時(shí)不刪除源文件
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog
#可以看到壓縮文件和源文件都存在

【例 3】 壓縮目錄

我們可能會(huì)想當(dāng)然地認(rèn)為 gzip 命令可以壓縮目錄。 我們來試試:

[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/test1
[root@localhost ~]# touch test/test2
[root@localhost ~]# touch test/test3 #建立測(cè)試目錄,并在里面建立幾個(gè)測(cè)試文件
[root@localhost ~]# gzip -r test/
#壓縮目錄,并沒有報(bào)錯(cuò)
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test
#但是查看發(fā)現(xiàn)test目錄依然存在,并沒有變?yōu)閴嚎s文件
[root@localhost ~]# ls test/
testl .gz test2.gz test3.gz
#原來gzip命令不會(huì)打包目錄,而是把目錄下所有的子文件分別壓縮

在 Linux 中,打包和壓縮是分開處理的。而 gzip 命令只會(huì)壓縮,不能打包,所以才會(huì)出現(xiàn)沒有打包目錄,而只把目錄下的文件進(jìn)行壓縮的情況。

看完上述內(nèi)容,你們對(duì)Linux系統(tǒng)中如何使用 gzip命令實(shí)現(xiàn)壓縮文件有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI