在linux中,gzip指令用於對文件進行壓縮和解壓縮,透過此指令壓縮得到的新文件,其副檔名通常標記為“.gz”,使用語法為「gzip [選項] 原始檔」。普通文件在壓縮操作時稱為語法中的來源文件,而在解壓縮操作時,壓縮文件則是指的來源文件。即使指定了一個目錄,gzip指令僅能壓縮目錄中的所有文件,而無法壓縮整個目錄。
gzip 是 Linux 系統中經常用來對文件進行壓縮和解壓縮的命令,透過此命令壓縮得到的新文件,其副檔名通常標記為「.gz」。
請注意,gzip 指令僅適用於壓縮文件,無法壓縮目錄。即使指定了目錄,它只會壓縮該目錄下的所有檔案。
gzip 指令的基本格式如下:
[root@localhost ~]# gzip [选项] 源文件
指令中的來源文件,當進行壓縮操作時,指的是普通文件;當進行解壓縮操作時,指的是壓縮檔案。此指令常用的選項及意義如表 1 所示。
| ##-c | |
| -l
|
| ##壓縮文件的大小; |
壓縮比;
未壓縮檔案的名稱。
-數字用於指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高。預設壓縮比是 -6。
【範例1】基本壓縮 gzip 壓縮指令非常簡單,甚至不需要指定壓縮之後的壓縮包名,只要指定來源檔名即可。我們來試試:
[root@localhost ~]# gzip install.log #压缩instal.log 文件 [root@localhost ~]# ls anaconda-ks.cfg install.log.gz install.log.syslog #压缩文件生成,但是源文件也消失了
【範例 2】保留原始檔壓縮
當使用 gzip 指令壓縮檔案時,來源檔案會被刪除,並產生一個壓縮檔案。這時有些人會有強迫症,就逼問筆者:能不能在壓縮檔案的時候,不讓原始檔案消失?好吧,也是可以的,不過很彆扭。
【範例 3】 壓縮目錄 [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 #可以看到压缩文件和源文件都存在
我們可能會想當然地認為 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 gzip壓縮指令如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-08-26 06:35:31
-
2024-08-26 06:35:02
-
2024-08-26 06:34:34
-
2024-08-26 06:34:10
-
2024-08-26 06:33:31
-
2024-08-26 06:33:06
-
2024-08-26 06:32:02
-
2024-08-26 06:31:32
-
2024-08-26 06:31:07
-
2024-08-26 06:20:19
最新問題
自始至終擁抱 UTF-8
我正在設定一個新伺服器,並希望在我的Web應用程式中完全支援UTF-8。我過去曾在現有伺服器上嘗試過此操作,但似乎總是最終不得不退回到ISO-8859-1。我到底需要在哪裡設定編碼...
來自於 2023-10-15 12:36:31
0
2
280
全程UTF-8
我正在設定一個新伺服器,並希望在我的Web應用程式中完全支援UTF-8。我過去曾在現有伺服器上嘗試過此操作,但似乎總是最終不得不退回到ISO-8859-1。我到底需要在哪裡設定編碼...
來自於 2023-10-15 11:44:00
0
2
324
組件中未定義的變數
我的伺服器透過apache2在Linux中運作,但透過Windows機器上的artisan服務在開發環境中運作得很好。錯誤是未定義變數$washProgramresources/v...
來自於 2023-09-06 10:48:25
0
1
346
使用'AND”、'OR”運算符搜尋 Json 對象
我遇到一個問題,需要使用條件運算子字串搜尋JSON物件。 JSON物件看起來像letData=[{Application:'APIM',Owner:'VandeMataram','...
來自於 2023-09-06 10:23:16
0
1
182
熱門教學
更多>
php入門教程之一週學會PHP
4208764
JAVA 初級入門影片教學
2360489
小甲魚零基礎入門學習Python影片教學
493788
PHP 零基礎入門教學
827264