zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [-b path] [-n suffixes] [-t mmddyyyy] [-tt mmddyyyy] [ zipfile [ file1 file2 ...]] [-xi list]
或
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目錄>][-ll][-n <字尾字符串>][-t <日期時間>][-<壓縮效率>][壓縮文件][文件...][-i <范本樣式>][-x <范本樣式>]
功能
zip 可用來壓縮文件,如果我們有許多文件需要做壓縮,甚至可以將它們一并處理并壓縮成一個文件。
舉例
這里不詳細列舉,只給出最最常用的例子,其余的查 man 手冊。后面也有各個選項的詳細說明。
遞歸地壓縮目錄 testZip 到 testzip.zip
$zip -r testzip.zip testZip
輸入之后,輸出:
adding: testZip/ (stored 0%)
adding: testZip/test/ (stored 0%)
adding: testZip/test/good (stored 0%)
這里, testzip.zip 后面是待壓縮的目錄,可以為多個目錄或者文件,它們之間用空格分開,這樣目錄中的所有文件都會被遞歸地壓縮到 testzip.zip 中。
解壓已經(jīng)壓縮的文件 testzip.zip
$unzip testzip.zip
輸入之后,輸出如下:
Archive: testzip.zip
creating: testZip/
creating: testZip/test/
extracting: testZip/test/good
這樣,把壓縮過的文件原封不動地從壓縮包里面解壓出來了(解壓到當前的目錄)。
非遞歸壓縮目錄 testZip 到 testzip.zip
$zip testZip.zip testZip/
輸入之后,輸出如下:
adding: testZip/ (stored 0%)
這樣壓縮后的文件,僅僅是壓縮了一個空目錄 testZip ,目錄中的文件和子目錄并沒有包含進去,解壓之后也只是得到了一個空目錄,這個命令似乎沒有什么用處。
描述
zip 和 unzip 程序位于 /usr/bin 目錄中,它們和 MS-DOS 下的 pkzip 、 pkunzip 以及 MS-windows 的 Winzip 軟件功能一樣、可將文件壓縮成 .zip 文件以節(jié)省硬盤空間,而當需要的時候再將壓縮文件解開。
zip 命令在許多 OS 平臺都有,而且參數(shù)相當多,在此我只介紹一些 Linux 上適用的參數(shù) :
-
-<壓縮效率>:壓縮效率是一個介于1-9的數(shù)值。 -
-1: 最快壓縮,壓縮率最差。 -
-9: 最大壓縮,壓縮率最佳。 -
-A調(diào)整可執(zhí)行的自動解壓縮文件。 -
-b<工作目錄>: 指定暫時存放文件的目錄。這個參數(shù)一般在要產(chǎn)生的zip文件存在,而硬盤現(xiàn)有空間不足時。 -
-c: 替新增或更新的文件增加一行注解。 -
-d: 從zip文件移出指定的文件。 -
-D: 不要在zip文件中建立目錄名稱。 -
-f:效果和指定-u參數(shù)類似,但不僅更新既有文件,如果某些文件原本不存在于壓縮文件內(nèi),使用本參數(shù)會一并將其加入壓縮文件中。 -
-F:嘗試修復(fù)已損壞的壓縮文件。 -
-g:將文件壓縮后附加在既有的壓縮文件之后,而非另行建立新的壓縮文件。 -
-h: 顯示輔助說明。 -
-i<范本樣式>只壓縮符合條件的文件。 -
-j: 只保存文件名稱及其內(nèi)容,而不存放任何目錄名稱。 -
-J:刪除壓縮文件前面不必要的數(shù)據(jù)。 -
-k: 強迫使用MSDOS格式文件名。 -
-l: 壓縮時,把字符LF換成LF+CR。這里CR(Carriage Return) LF(Line Feed)一般是要將MS-DOS上的文本文件壓縮后拿到UNIX下使用時才用此參數(shù)。這只適用于文本文件 (.txt),如果用于二進制文件則會造成二進制文件損毀。 -
-ll:壓縮文件時,把LF+CR字符置換成LF字符 -
-L: 顯示zip命令的版權(quán)。 -
-m:將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中。 -
-n<字尾字符串>: 不壓縮具有特定字尾字符串(特定擴展名)的文件。 -
-o: 以壓縮文件內(nèi)擁有最新更改時間的文件為準,將壓縮文件的更改時間設(shè)成和該文件相同。 -
-q: 安靜模式,不會顯示指令執(zhí)行過程相關(guān)訊息和提示。 -
-r: 遞歸處理,將指定目錄下的所有文件和子目錄一并處理。 -
-S包含系統(tǒng)和隱藏文件。 -
-t<日期時間>: 把壓縮日期設(shè)成指定的日期,只處理mmddyy日期以后的文件不處理之前的文件。 -
-T: 測試zip文件是否正常,備份文件內(nèi)的每個文件是否正確無誤。 -
-u: 只更新改變過的文件和新文件(更換較新的文件到壓縮文件內(nèi))。 -
-v: 顯示指令執(zhí)行過程或顯示版本信息。 -
-V:保存VMS操作系統(tǒng)的文件屬性。 -
-w:在文件名稱里假如版本編號,本參數(shù)僅在VMS操作系統(tǒng)下有效。 -
-x<范本樣式>: 壓縮時排除符合條件的文件(不需要壓縮的文件)。 -
-X:不保存額外的文件屬性。 -
-y: 直接壓縮符號(symbolic link)連接,而非該連接所指向的文件,本參數(shù)僅在UNIX之類的系統(tǒng)下有效。 -
-z: 為zip文件增加注解。 -
-$:保存第一個被壓縮文件所在磁盤的卷冊名稱。 -
-#: 設(shè)定壓縮速度,-0表示不壓縮,-1表示最快速度的壓縮,-9表示最慢速度的壓縮 ( 最佳化的壓縮 ),預(yù)設(shè)值為-6。 -
-@: 從標準輸入讀取文件名稱。
其它
參考資料: