在linux中,gzip指令用於對文件進行壓縮和解壓縮,透過此指令壓縮得到的新文件,其副檔名通常標記為“.gz”,使用語法為「gzip [選項] 原始檔」。普通文件在壓縮操作時稱為語法中的來源文件,而在解壓縮操作時,壓縮文件則是指的來源文件。即使指定了一個目錄,gzip指令僅能壓縮目錄中的所有文件,而無法壓縮整個目錄。
gzip 是 Linux 系統中經常用來對文件進行壓縮和解壓縮的命令,透過此命令壓縮得到的新文件,其副檔名通常標記為「.gz」。
請注意,gzip 指令僅適用於壓縮文件,無法壓縮目錄。即使指定了目錄,它只會壓縮該目錄下的所有檔案。
gzip 指令的基本格式如下:
[root@localhost ~]# gzip [选项] 源文件
指令中的來源文件,當進行壓縮操作時,指的是普通文件;當進行解壓縮操作時,指的是壓縮檔案。此指令常用的選項及意義如表 1 所示。
##-c | |
| -l|
##壓縮文件的大小; |
壓縮比;
<p>未壓縮檔案的名稱。 </p>
-數字<p></p>用於指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高。預設壓縮比是 -6。
【範例1】基本壓縮<p>gzip 壓縮指令非常簡單,甚至不需要指定壓縮之後的壓縮包名,只要指定來源檔名即可。我們來試試:</p>
[root@localhost ~]# gzip install.log #压缩instal.log 文件 [root@localhost ~]# ls anaconda-ks.cfg install.log.gz install.log.syslog #压缩文件生成,但是源文件也消失了
【範例 2】保留原始檔壓縮
當使用 gzip 指令壓縮檔案時,來源檔案會被刪除,並產生一個壓縮檔案。這時有些人會有強迫症,就逼問筆者:能不能在壓縮檔案的時候,不讓原始檔案消失?好吧,也是可以的,不過很彆扭。
<pre class="brush:js;toolbar:false">[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
#可以看到压缩文件和源文件都存在</pre><p>【範例 3】 壓縮目錄
</p>
<p>我們可能會想當然地認為 gzip 指令可以壓縮目錄。讓我們來試試:<img src="https://img.php.cn/upload/article/000/887/227/168567942114139.png" alt="linux gzip压缩命令如何使用"></p>
<p><pre class="brush:js;toolbar:false">[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命令不会打包目录,而是把目录下所有的子文件分别压缩</pre></p>在 Linux 中,打包和壓縮是分開處理的。而 gzip 指令只會壓縮,不能打包,所以才會出現沒有打包目錄,只把目錄下的檔案進行壓縮的情況。
<p><img src="https://img.php.cn/upload/article/000/887/227/168567942270018.jpg" alt="linux gzip压缩命令如何使用"></p>###### 案例示範:#########壓縮檔案#########<pre class="brush:js;toolbar:false"> [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 ~]#</pre>###接範例1, 列出詳細的資訊
#########<pre class="brush:js;toolbar:false">gzip -dv * //解压文件,并列出详细信息</pre>############接範例1,顯示壓縮檔案的資訊###<pre class="brush:js;toolbar:false">gzip -l *</pre>##########
以上是linux gzip壓縮指令如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!