在linux中,gzip指令用於對文件進行壓縮和解壓縮,透過此指令壓縮得到的新文件,其副檔名通常標記為“.gz”,使用語法為“gzip [選項] 來源文件」。語法中的來源文件,當進行壓縮操作時,指的是普通文件;當進行解壓縮操作時,指的是壓縮文件。 gzip指令只能用來壓縮文件,不能壓縮目錄,即便指定了目錄,也只能壓縮目錄內的所有文件。
本教學操作環境:linux7.3系統、Dell G3電腦。
gzip 是 Linux 系統中經常用來對文件進行壓縮和解壓縮的命令,透過此命令壓縮得到的新文件,其副檔名通常標記為「.gz」。
再強調一下,gzip 指令只能用來壓縮文件,不能壓縮目錄,即使指定了目錄,也只能壓縮目錄內的所有文件。
gzip 指令的基本格式如下:
[root@localhost ~]# gzip [选项] 源文件
指令中的來源文件,當進行壓縮操作時,指的是普通文件;當進行解壓縮操作時,指的是壓縮檔案。此指令常用的選項及意義如表 1 所示。
#選項 | 意義 |
---|---|
將壓縮資料輸出到標準輸出中,並保留來源檔案。 | |
對壓縮檔案進行解壓縮。 | |
遞歸壓縮指定目錄下以及子目錄下的所有檔案。 | |
對於每個壓縮和解壓縮的文件,顯示對應的檔案名稱和壓縮比。 | |
對每一個壓縮文件,顯示以下欄位: |
|
用於指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高。預設壓縮比是 -6。 |
gzip 壓縮指令非常簡單,甚至不需要指定壓縮之後的壓縮包名,只要指定來源檔名即可。讓我們來試試:
[root@localhost ~]# gzip install.log #压缩instal.log 文件 [root@localhost ~]# ls anaconda-ks.cfg install.log.gz install.log.syslog #压缩文件生成,但是源文件也消失了
【範例 2】保留原始檔壓縮
在使用 gzip 指令壓縮檔案時,原始檔會消失,從而產生壓縮檔。這時有些人會有強迫症,就逼問筆者:能不能在壓縮檔案的時候,不讓原始檔案消失?好吧,也是可以的,不過很彆扭。
[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz #使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样可以缩文件的同时不删除源文件 [root@localhost ~]# ls anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog #可以看到压缩文件和源文件都存在
【範例 3】 壓縮目錄
我們可能會想當然地認為 gzip 指令可以壓縮目錄。讓我們來試試:
[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1 [root@localhost ~]# touch test/test2 [root@localhost ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件 [root@localhost ~]# gzip -r test/ #压缩目录,并没有报错 [root@localhost ~]# ls anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test #但是查看发现test目录依然存在,并没有变为压缩文件 [root@localhost ~]# ls test/ testl .gz test2.gz test3.gz #原来gzip命令不会打包目录,而是把目录下所有的子文件分别压缩
在 Linux 中,打包和壓縮是分開處理的。而 gzip 指令只會壓縮,不能打包,所以才會出現沒有打包目錄,只把目錄下的檔案進行壓縮的情況。
案例示範:壓縮檔案
[root@localhost ~]# ls //显示当前目录文件 a.c b.h d.cpp [root@localhost ~]# gzip * //压缩目录下的所有文件 [root@localhost ~]# ls //显示当前目录文件 a.c.gz b.h.gz d.cpp.gz [root@localhost ~]#
接範例1, 列出詳細的資訊
gzip -dv * //解压文件,并列出详细信息
接著範例1,顯示壓縮檔案的資訊
gzip -l *
#相關推薦:《
Linux影片教學以上是linux gzip壓縮指令怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!