首頁 >運維 >linux運維 >Shell指令 檔案壓縮解壓縮之gzip、zip詳解

Shell指令 檔案壓縮解壓縮之gzip、zip詳解

little bottle
little bottle轉載
2019-04-29 09:32:234597瀏覽

這篇文章的主要內容敘述的是shell指令中之檔案壓縮解壓縮之gzip、zip,具有一定參考價值,有興趣的朋友可以了解一下,希望對你有幫助。 

1.gzip:gzip壓縮工具

#gzip指令的功能說明:

gzip 指令用於壓縮檔案。 gzip 是個使用廣泛的壓縮程序,檔案經過它壓縮過後,其名稱後面會多出 .gz 的副檔名。

gzip指令的語法格式:

gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]
gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][目录]

gzip指令的常用參數說明:

gzip 參數很多,如下為gzip 指令的參數與說明:

參數選項          解釋說明

-a或--ascii     使用ASCII文字模式。   

-c或--stdout或--to-stdout     把壓縮後的檔案輸出到標準輸出設備,不去更動原始檔案。   

-d或--decompress或----uncompress     解開壓縮檔案。   

-f或--force     強行壓縮檔案。不理會檔案名稱或硬連接是否存在以及該檔案是否為符號連接。   

-h或--help     線上幫助。   

-l或--list      列出壓縮檔案的相關資訊。   

-L或--license     顯示版本與著作權資訊。   

-n或--no-name     壓縮檔案時,不保存原始的檔案名稱及時間戳記。   

-N或--name     壓縮檔案時,請儲存原來的檔案名稱及時間戳記。   

-q或--quiet      不顯示警告訊息。   

-r或--recursive     遞歸處理,將指定目錄下的所有檔案及子目錄一併處理。   

-S9b3e6cdb532b9ad476b8abfe594e56a5或----suffix9b3e6cdb532b9ad476b8abfe594e56a5     變更壓縮字尾字串。   

-t或--test     測試壓縮檔案是否正確無誤。   

-v或--verbose     顯示指令執行程序。   

-V或--version     顯示版本資訊。   

-703ef97a64d75d882d7705f799621d57     壓縮效率是介於1-9的數值,預設值為"6",指定愈大的數值,壓縮效率就會越高。   

--best     此參數的效果和指定"-9"參數相同。   

--fast      此參數的效果和指定"-1"參數相同。

gzip指令的實作操作

範例1: 壓縮檔案

[root@m01 ~]#  ls  <-->显示当前目录文件
a.c b.h d.cpp
[root@m01 ~]# gzip *  <-->压缩目录下的所有文件[root@w3cschool.cc a]# 
[root@m01 ~]# ls   <-->显示当前目录文件
a.c.gz    b.h.gz    d.cpp.gz

範例2: 接範例1, 列出詳細的資訊

[root@m01 ~]#  gzip -dv *  <-->解压文件,并列出详细信息
a.c.gz:     0.0% -- replaced with a.c
b.h.gz:     0.0% -- replaced with b.h
d.cpp.gz:     0.0% -- replaced with d.cpp

範例3: 接範例1,顯示壓縮檔案的資訊

[root@m01 ~]# gzip -l *
     compressed    uncompressed ratio uncompressed_name
         24          0  0.0% a.c
         24          0  0.0% b.h
         26          0  0.0% d.cpp

2. zip:壓縮工具

zip指令的功能說明

zip 指令用於壓縮檔案。 zip 是使用廣泛的壓縮程序,檔案經它壓縮後會另外產生具有 .zip 副檔名的壓縮檔。

zip指令的語法格式

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date] [-tt date]
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]

zip指令的常用參數說明:

zip 參數很多,如下zip指令的參數及說明:

參數選項         解釋說明

-A     調整可執行的自動解壓縮檔。

-bb90d3971ddd3ed435c360768712c7d8b     指定暫時存放檔案的目錄。

-c     替每個被壓縮的檔案加上註解。

-d     從壓縮檔案內刪除指定的檔案。

-D     壓縮檔案內不建立目錄名稱。

-f     此參數的效果和指定"-u"參數類似,但不僅更新既有文件,如果某些文件原本不存在於壓縮文件內,使用本參數會一併將其加入壓縮文件中。

-F     嘗試修正已損壞的壓縮檔案。

-g     將檔案壓縮後附加在現有的壓縮檔案之後,而非另行建立新的壓縮檔案。

-h     線上協助。

-ia16dfb69d57613d94e84f15125682c03     只壓縮符合條件的檔案。

-j     只儲存檔案名稱及其內容,而儲存任何目錄名稱。

-J     刪除壓縮檔案前方不必要的資料。

-k     使用MS-DOS相容格式的檔案名稱。

-l     壓縮檔案時,將LF字元置換成LF CR字元。

-ll     壓縮檔案時,將LF CR字元置換成LF字元。

-L     顯示著作權資訊。

-m     壓縮檔案並加入壓縮檔案後,刪除原始文件,即將檔案移到壓縮檔案中。

-n4e2d7d9d9e29dd337a00be59fde3a9eb     不壓縮具有特定字尾字串的檔案。

-o     以壓縮檔案內擁有最新變更時間的檔案為準,將壓縮檔案的變更時間設為和該檔案相同。

-q     不顯示指令執行程序。

-r     遞歸處理,將指定目錄下的所有檔案和子目錄一併處理。

-S     包含系統和隱藏檔案。

-t40dc050984b11043ded930260251092c     把壓縮檔案的日期設為指定的日期。

-T     檢查備份檔案內的每個檔案是否正確無誤。

-u     更換較新的檔案到壓縮檔案內。

-v     顯示指令執行程序或顯示版本資訊。

-V     保存VMS作業系統的檔案屬性。

-w     在檔案名稱裡假如版本編號,此參數僅在VMS作業系統下有效。

-xa16dfb69d57613d94e84f15125682c03     壓縮時排除符合條件的檔案。

-X     不儲存額外的檔案屬性。

-y     直接保存符號連接,而非此連接所指向的文件,此參數僅在UNIX之類的系統下有效。

-z     替壓縮檔案加上註解。

-$     保存第一個被壓縮檔案所在磁碟的磁碟區名稱。

-703ef97a64d75d882d7705f799621d57     壓縮效率是介於1-9的數值。

zip指令的實作操作

範例1: 將/home/html/ 這個目錄下所有檔案和資料夾打包為目前目錄下的html.zip:

zip -q -r html.zip /home/html

範例2: 如果在我們在·/home/html· 目錄下,可以執行下列指令:

zip -q -r html.zip *

範例3: 從壓縮檔案cp.zip 移除檔案a.c

zip -dv cp.zip a.c

今天就寫到這裡,有什麼疑問或出現什麼錯誤,隨時歡迎大神們發表評論指點迷津

相關教程:Linux視頻教程

以上是Shell指令 檔案壓縮解壓縮之gzip、zip詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除