zip
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比細(xì)河網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式細(xì)河網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋細(xì)河地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。zip 是一種最通用的文件壓縮方式,使用于unix、msdos、windows、OS等系統(tǒng)。如果在編譯zip時(shí)包含bzip 2庫,zip現(xiàn)在也支持bzip 2壓縮。當(dāng)將大于4GB的文件添加到存檔中時(shí),zip會(huì)自動(dòng)使用Zip 64擴(kuò)展名,包含Zip 64條目的歸檔將被更新(如果結(jié)果的歸檔仍然需要Zip 64),歸檔的大小將超過4GB,或者當(dāng)歸檔中的條目數(shù)超過64K時(shí)。Zip 64也用于從標(biāo)準(zhǔn)輸入中傳輸?shù)臋n案,因?yàn)槭孪炔恢肋@些檔案的大小,但是選項(xiàng)fz可以用來強(qiáng)制zip創(chuàng)建與PKZIP 2兼容的檔案(只要不需要Zip 64擴(kuò)展)。必須使用PKZIP4.5兼容解壓縮,例如解壓縮6.0或更高版本,才能使用Zip 64擴(kuò)展名提取文件。
zip 程序?qū)⒁粋€(gè)或多個(gè)壓縮文件與有關(guān)文件的信息(名稱、路徑、日期、上次修改的時(shí)間、保護(hù)和檢查信息以驗(yàn)證文件完整性)一起放入一個(gè)壓縮存檔中??梢允褂靡粋€(gè)命令將整個(gè)目錄結(jié)構(gòu)打包到zip存檔中。對(duì)于文本文件來說,壓縮比為2:1和3:1是常見的。zip只有一種壓縮方法(通縮),并且可以在不壓縮的情況下存儲(chǔ)文件。(如果添加了bzip 2支持,zip也可以使用bzip 2壓縮,但這些條目需要一個(gè)合理的現(xiàn)代解壓縮來解壓縮。當(dāng)選擇bzip 2壓縮時(shí),它將通貨緊縮替換為默認(rèn)方法。)zip會(huì)自動(dòng)為每個(gè)要壓縮的文件選擇更好的兩個(gè)文件(通縮或存儲(chǔ),如果選擇bzip2,則選擇bzip2或Store)。
此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1 、語法
zip [ 選項(xiàng)] zipfile list
2 、選項(xiàng)列表
選項(xiàng) | 說明 |
- ? | -h | --help | 幫助信息 |
-h3 | --more-help | 顯示擴(kuò)展幫助,包括更多關(guān)于命令行格式、模式匹配和更模糊的選項(xiàng)。 |
-V | --version | 顯示命令版本信息 |
-a | --ascii | 將系統(tǒng)使用的EBCDIC文件轉(zhuǎn)換為ascii |
-A | --adjust-sfx | 調(diào)整自解壓可執(zhí)行檔案。自解壓縮的可執(zhí)行存檔是通過將SFX存根放在現(xiàn)有存檔的前面創(chuàng)建的。-A選項(xiàng)告訴zip調(diào)整存儲(chǔ)在歸檔中的條目偏移量,以考慮到這些“序言”數(shù)據(jù)。 |
-b path | --temp-path path | 為臨時(shí)zip歸檔使用指定的路徑 |
-B | --binary | 使用二進(jìn)制格式,默認(rèn)是文本格式 |
-c | --entry-comments | 給被壓縮的文件加上注釋信息 |
-d | --delete | 將指定的文件從壓縮文件中刪除 |
-db | --display-bytes | 顯示正在運(yùn)行的字節(jié)計(jì)數(shù),顯示壓縮的字節(jié)和要運(yùn)行的字節(jié)。 |
-dc | --display-counts | 顯示已壓縮的條目的運(yùn)行計(jì)數(shù)和要運(yùn)行的條目 |
-dd | --display-dots | 在每個(gè)條目被拉鏈時(shí)顯示點(diǎn)(除了在具有自己的進(jìn)度指示器的端口上)。見下面的設(shè)置點(diǎn)大小-DS。默認(rèn)情況下,每處理10 MB的輸入文件就有一個(gè)點(diǎn)。-v選項(xiàng)還顯示點(diǎn)(以前的速率比這個(gè)高得多,但現(xiàn)在-v也默認(rèn)為10 MB),這個(gè)速率也是由-ds控制的。 |
-dg | --display-globaldots | 顯示存檔的進(jìn)度點(diǎn),而不是為每個(gè)文件顯示進(jìn)度點(diǎn)。 |
-ds size | --dot-size size | 設(shè)置為顯示的每個(gè)點(diǎn)處理的輸入文件的數(shù)量。尺寸為nm格式,其中n是一個(gè)數(shù)字,m是一個(gè)乘數(shù)。目前m可以是k(KB),m(MB),g(GB),或者t(TB),所以如果n是100,m是k,那么大小將是100 k,即100 KB。默認(rèn)值為10 MB。 |
-du | --display-usize | 顯示每個(gè)條目的未壓縮大小。 |
-dv | --display-volume | 顯示正在讀取的每個(gè)條目的卷(磁盤)號(hào),如果讀取現(xiàn)有存檔,并將其寫入 |
-D | --no-dir-entries | 不要在zip存檔中為目錄創(chuàng)建條目。 |
-DF | --difference-archive | 創(chuàng)建一個(gè)包含自原始存檔創(chuàng)建以來所有新的和已更改的文件的歸檔文件。 |
-e | --encrypt | 壓縮文件加密 |
-f | --freshen | 替代壓縮文件中的舊文件,如果文件不存在,那么不會(huì)追加文件 |
-F | --fix | -FF | --fixfix | 嘗試修復(fù)已經(jīng)損壞的壓縮文件 |
-FI | --fifo | 通常zip會(huì)跳過讀取遇到的任何FIFO(命名管道),因?yàn)槿绻鸉IFO沒有被喂入,zip就會(huì)掛起。 |
-FS | --filesync | 將存檔的內(nèi)容與操作系統(tǒng)上的文件同步 |
-g | --grow | 將文件追加到已經(jīng)存在的壓縮文件結(jié)尾 |
-i | --include | 僅包含指定的文件 |
-j | --junk-paths | 壓縮的時(shí)候,忽略文件名中的路徑,只保存文件名和內(nèi)容 |
-J | --junk-sfx | 從存檔中刪除任何預(yù)置的數(shù)據(jù) |
-i | --include | 只包含指定的文件 |
-la | --log-append | 附加到現(xiàn)有日志文件。默認(rèn)值是覆蓋 |
-lf | --logfile-path | 在給定路徑上打開日志文件。默認(rèn)情況下,該位置的任何現(xiàn)有文件都會(huì)被覆蓋 |
-li | --log-info | 在日志中包含信息消息,例如正在壓縮的文件名。默認(rèn)情況下,只包含命令行、任何警告和錯(cuò)誤以及最終狀態(tài)。 |
-L | --license | 顯示zip的許可證 |
-m | --move | 將指定的文件移動(dòng)到壓縮文件 |
-MM | --must-match | 所有輸入模式必須至少匹配一個(gè)文件,所有找到的輸入文件必須是可讀的。 |
-n | --suffixes | 不要嘗試壓縮以給定后綴命名的文件。 |
-nw | --no-wild | 不要執(zhí)行內(nèi)部通配符處理。 |
-o | --latest-time | 將zip歸檔的“最后修改”時(shí)間設(shè)置為在zip歸檔中的條目中找到的最新(最老的)“最后修改”時(shí)間。 |
-O | --output-file | 像往常一樣處理歸檔更改,但不是更新現(xiàn)有存檔,而是將新存檔輸出到輸出文件。 |
-p | --path | 將相對(duì)文件路徑作為存儲(chǔ)在存檔中的文件名稱的一部分 |
-P | --password | 加密 |
-q | --quite | 靜默模式,不顯示執(zhí)行過程 |
-r | --recurse-paths | 壓縮的時(shí)候,遞歸處理目錄 |
-R | --recurse-patterns | 遞歸遍歷目錄結(jié)構(gòu),從當(dāng)前目錄開始。 |
-s | --split-size | 啟用創(chuàng)建拆分存檔并設(shè)置拆分大小 |
-sb | --split-bell | 如果拆分并使用拆分暫停模式,則在zip對(duì)每個(gè)拆分目標(biāo)暫停時(shí)按下鈴聲。 |
-sc | --show-command | 顯示已處理并退出的啟動(dòng)zip的命令行 |
-sf | --show-files | 顯示要操作的文件,然后退出。 |
-so | --show-options | 顯示在當(dāng)前系統(tǒng)上編譯的zip支持的所有可用選項(xiàng) |
-sp | --split-pause | 如果使用-s啟用拆分,則啟用拆分暫停模式 |
-su | --show-unicode | 和-sf一樣,如果存在,還會(huì)顯示路徑的unicode版本 |
-sU | --show-just-unicode | 和-sf一樣,僅顯示路徑的Unicode版本(如果存在),否則顯示路徑的標(biāo)準(zhǔn)版本。 |
-sv | --split-verbose | 在拆分時(shí)啟用各種詳細(xì)的消息,顯示拆分是如何進(jìn)行的。 |
-t mmddyyyy | --from-date mmddyyyy | 不要對(duì)在指定日期之前修改的文件進(jìn)行操作,其中mm是月份(00-12),dd是月份的日期(01-31),yyyy是年。 |
-T | --test | 測試新zip文件的完整性。如果檢查失敗,舊的zip文件將保持不變,并且(使用-m選項(xiàng))不會(huì)刪除輸入文件。 |
-TT | --unzip-command | 當(dāng)使用-T選項(xiàng)時(shí),使用命令cmd而不是“unzip-tqq”來測試存檔。 |
-U | --copy-entries | 將條目從一個(gè)存檔復(fù)制到另一個(gè)存檔。 |
-u | --update | 更新文件,不存在的時(shí)候,直接追加。僅當(dāng)zip存檔中的現(xiàn)有條目比zip存檔中的版本修改得更近時(shí),才替換(更新)它。 |
-UN | --unicode | 確定zip應(yīng)該如何處理unicode文件名 |
-x | --exclude | 壓縮時(shí)不包含指定的文件 |
-y | 壓縮時(shí)直接保存符號(hào)鏈接 |
-v | --verbose | 顯示執(zhí)行過程 |
-ws | --wild-stop-dirs | 通配符僅在目錄級(jí)別匹配。 |
-# | 使用指定的數(shù)字#調(diào)整壓縮速度,其中-0表示沒有壓縮(存儲(chǔ)所有文件),-1表示最快的壓縮速度(壓縮較少),-9表示最慢的壓縮速度(最佳壓縮,忽略后綴列表)。默認(rèn)的壓縮級(jí)別是-6 |
-@ | --names-stdin | 從標(biāo)準(zhǔn)輸入中獲取輸入文件列表。每行只有一個(gè)文件名。 |
4 、模式匹配
? ,匹配任意單個(gè)字符
* ,匹配任意多個(gè)字符
[] 匹配括號(hào)內(nèi)所示范圍內(nèi)的任何字符(例如:[a-f],[0-9])。
5 、退出碼
,正常,沒有錯(cuò)誤。
2 ,壓縮文件的意外結(jié)束。
3 ,檢測到zip文件格式中的通用錯(cuò)誤。
4 ,在程序初始化期間,zip無法為一個(gè)或多個(gè)緩沖區(qū)分配內(nèi)存。
5 ,檢測到zip文件格式出現(xiàn)嚴(yán)重錯(cuò)誤。
6 ,條目太大,無法處理(例如,不使用Zip 64或試圖讀取現(xiàn)有存檔太大時(shí),輸入文件大于2GB)或條目太大,不能用zip拆分。
7 ,無效注釋格式。
8 ,zip-T失敗或內(nèi)存不足。
9 ,用戶使用Control-C(或類似的)過早中止zip。
10 ,使用臨時(shí)文件時(shí),zip遇到了一個(gè)錯(cuò)誤。
11 ,讀取或查找錯(cuò)誤。
12 ,zip無事可做。
13 ,丟失或空壓縮文件。
14 ,寫入文件時(shí)出錯(cuò)。
15 ,zip無法創(chuàng)建要寫入的文件。
16 ,壞命令行參數(shù)。
18 ,zip無法打開要讀取的指定文件。
19 ,在此系統(tǒng)中不支持的選項(xiàng)編譯了zip。
6 、例子代碼
|
7 、實(shí)例
1 )壓縮文件
|
2 )給壓縮文件添加、刪除內(nèi)容
|
3 )壓縮時(shí)設(shè)置密碼
|