Linux基礎命令---zip
zip
zip 是一種最通用的檔案壓縮方式,使用於unix、msdos、windows、OS等系統。如果在編譯zip時包含bzip 2庫,zip現在也支援bzip 2壓縮。當將大於4GB的檔案新增到存檔中時,zip會自動使用Zip 64副檔名,包含Zip 64條目的歸檔將被更新(如果結果的歸檔仍然需要Zip 64),歸檔的大小將超過4GB,或者當歸檔中的條目數超過64K時。Zip 64也用於從標準輸入中傳輸的檔案,因為事先不知道這些檔案的大小,但是選項fz可以用來強制zip建立與PKZIP 2相容的檔案(只要不需要Zip 64擴充套件)。必須使用PKZIP4.5相容解壓縮,例如解壓縮6.0或更高版本,才能使用Zip 64副檔名提取檔案。
zip 程式將一個或多個壓縮檔案與有關檔案的資訊(名稱、路徑、日期、上次修改的時間、保護和檢查資訊以驗證檔案完整性)一起放入一個壓縮存檔中。可以使用一個命令將整個目錄結構打包到zip存檔中。對於文字檔案來說,壓縮比為2:1和3:1是常見的。zip只有一種壓縮方法(通縮),並且可以在不壓縮的情況下儲存檔案。(如果新增了bzip 2支援,zip也可以使用bzip 2壓縮,但這些條目需要一個合理的現代解壓縮來解壓縮。當選擇bzip 2壓縮時,它將通貨緊縮替換為預設方法。)zip會自動為每個要壓縮的檔案選擇更好的兩個檔案(通縮或儲存,如果選擇bzip2,則選擇bzip2或Store)。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1 、語法
zip [ 選項] zipfile list
2 、選項列表
選項 |
說明 |
- ? | -h | --help |
幫助資訊 |
-h2 | --more-help |
顯示擴充套件幫助,包括更多關於命令列格式、模式匹配和更模糊的選項。 |
-V | --version |
顯示命令版本資訊 |
-a | --ascii |
將系統使用的EBCDIC檔案轉換為ascii |
-A | --adjust-sfx |
調整自解壓可執行檔案。自解壓縮的可執行存檔是通過將SFX存根放在現有存檔的前面建立的。-A選項告訴zip調整儲存在歸檔中的條目偏移量,以考慮到這些“序言”資料。 |
-b path | --temp-path path |
為臨時zip歸檔使用指定的路徑 |
-B | --binary |
使用二進位制格式,預設是文字格式 |
-c | --entry-comments |
給被壓縮的檔案加上註釋資訊 |
-d | --delete |
將指定的檔案從壓縮檔案中刪除 |
-db | --display-bytes |
顯示正在執行的位元組計數,顯示壓縮的位元組和要執行的位元組。 |
-dc | --display-counts |
顯示已壓縮的條目的執行計數和要執行的條目 |
-dd | --display-dots |
在每個條目被拉鍊時顯示點(除了在具有自己的進度指示器的埠上)。見下面的設定點大小-DS。預設情況下,每處理10 MB的輸入檔案就有一個點。-v選項還顯示點(以前的速率比這個高得多,但現在-v也預設為10 MB),這個速率也是由-ds控制的。 |
-dg | --display-globaldots |
顯示存檔的進度點,而不是為每個檔案顯示進度點。 |
-ds size | --dot-size size |
設定為顯示的每個點處理的輸入檔案的數量。尺寸為nm格式,其中n是一個數字,m是一個乘數。目前m可以是k(KB),m(MB),g(GB),或者t(TB),所以如果n是100,m是k,那麼大小將是100 k,即100 KB。預設值為10 MB。 |
-du | --display-usize |
顯示每個條目的未壓縮大小。 |
-dv | --display-volume |
顯示正在讀取的每個條目的卷(磁碟)號,如果讀取現有存檔,並將其寫入 |
-D | --no-dir-entries |
不要在zip存檔中為目錄建立條目。 |
-DF | --difference-archive |
建立一個包含自原始存檔建立以來所有新的和已更改的檔案的歸檔檔案。 |
-e | --encrypt |
壓縮檔案加密 |
-f | --freshen |
替代壓縮檔案中的舊檔案,如果檔案不存在,那麼不會追加檔案 |
-F | --fix | -FF | --fixfix |
嘗試修復已經損壞的壓縮檔案 |
-FI | --fifo |
通常zip會跳過讀取遇到的任何FIFO(命名管道),因為如果FIFO沒有被喂入,zip就會掛起。 |
-FS | --filesync |
將存檔的內容與作業系統上的檔案同步 |
-g | --grow |
將檔案追加到已經存在的壓縮檔案結尾 |
-i | --include |
僅包含指定的檔案 |
-j | --junk-paths |
壓縮的時候,忽略檔名中的路徑,只儲存檔名和內容 |
-J | --junk-sfx |
從存檔中刪除任何預置的資料 |
-i | --include |
只包含指定的檔案 |
-la | --log-append |
附加到現有日誌檔案。預設值是覆蓋 |
-lf | --logfile-path |
在給定路徑上開啟日誌檔案。預設情況下,該位置的任何現有檔案都會被覆蓋 |
-li | --log-info |
在日誌中包含資訊訊息,例如正在壓縮的檔名。預設情況下,只包含命令列、任何警告和錯誤以及最終狀態。 |
-L | --license |
顯示zip的許可證 |
-m | --move |
將指定的檔案移動到壓縮檔案 |
-MM | --must-match |
所有輸入模式必須至少匹配一個檔案,所有找到的輸入檔案必須是可讀的。 |
-n | --suffixes |
不要嘗試壓縮以給定字尾命名的檔案。 |
-nw | --no-wild |
不要執行內部萬用字元處理。 |
-o | --latest-time |
將zip歸檔的“最後修改”時間設定為在zip歸檔中的條目中找到的最新(最老的)“最後修改”時間。 |
-O | --output-file |
像往常一樣處理歸檔更改,但不是更新現有存檔,而是將新存檔輸出到輸出檔案。 |
-p | --path |
將相對檔案路徑作為儲存在存檔中的檔名稱的一部分 |
-P | --password |
加密 |
-q | --quite |
靜默模式,不顯示執行過程 |
-r | --recurse-paths |
壓縮的時候,遞迴處理目錄 |
-R | --recurse-patterns |
遞迴遍歷目錄結構,從當前目錄開始。 |
-s | --split-size |
啟用建立拆分存檔並設定拆分大小 |
-sb | --split-bell |
如果拆分並使用拆分暫停模式,則在zip對每個拆分目標暫停時按下鈴聲。 |
-sc | --show-command |
顯示已處理並退出的啟動zip的命令列 |
-sf | --show-files |
顯示要操作的檔案,然後退出。 |
-so | --show-options |
顯示在當前系統上編譯的zip支援的所有可用選項 |
-sp | --split-pause |
如果使用-s啟用拆分,則啟用拆分暫停模式 |
-su | --show-unicode |
和-sf一樣,如果存在,還會顯示路徑的unicode版本 |
-sU | --show-just-unicode |
和-sf一樣,僅顯示路徑的Unicode版本(如果存在),否則顯示路徑的標準版本。 |
-sv | --split-verbose |
在拆分時啟用各種詳細的訊息,顯示拆分是如何進行的。 |
-t mmddyyyy | --from-date mmddyyyy |
不要對在指定日期之前修改的檔案進行操作,其中mm是月份(00-12),dd是月份的日期(01-31),yyyy是年。 |
-T | --test |
測試新zip檔案的完整性。如果檢查失敗,舊的zip檔案將保持不變,並且(使用-m選項)不會刪除輸入檔案。 |
-TT | --unzip-command |
當使用-T選項時,使用命令cmd而不是“unzip-tqq”來測試存檔。 |
-U | --copy-entries |
將條目從一個存檔複製到另一個存檔。 |
-u | --update |
更新檔案,不存在的時候,直接追加。僅當zip存檔中的現有條目比zip存檔中的版本修改得更近時,才替換(更新)它。 |
-UN | --unicode |
確定zip應該如何處理unicode檔名 |
-x | --exclude |
壓縮時不包含指定的檔案 |
-y |
壓縮時直接儲存符號連結 |
-v | --verbose |
顯示執行過程 |
-ws | --wild-stop-dirs |
萬用字元僅在目錄級別匹配。 |
-# |
使用指定的數字#調整壓縮速度,其中-0表示沒有壓縮(儲存所有檔案),-1表示最快的壓縮速度(壓縮較少),-9表示最慢的壓縮速度(最佳壓縮,忽略字尾列表)。預設的壓縮級別是-6 |
-@ | --names-stdin |
從標準輸入中獲取輸入檔案列表。每行只有一個檔名。 |
4 、模式匹配
? ,匹配任意單個字元
* ,匹配任意多個字元
[] 匹配括號內所示範圍內的任何字元(例如:[a-f],[0-9])。
5 、退出碼
,正常,沒有錯誤。
2 ,壓縮檔案的意外結束。
3 ,檢測到zip檔案格式中的通用錯誤。
4 ,在程式初始化期間,zip無法為一個或多個緩衝區分配記憶體。
5 ,檢測到zip檔案格式出現嚴重錯誤。
6 ,條目太大,無法處理(例如,不使用Zip 64或試圖讀取現有存檔太大時,輸入檔案大於2GB)或條目太大,不能用zip拆分。
7 ,無效註釋格式。
8 ,zip-T失敗或記憶體不足。
9 ,使用者使用Control-C(或類似的)過早中止zip。
10 ,使用臨時檔案時,zip遇到了一個錯誤。
11 ,讀取或查詢錯誤。
12 ,zip無事可做。
13 ,丟失或空壓縮檔案。
14 ,寫入檔案時出錯。
15 ,zip無法建立要寫入的檔案。
16 ,壞命令列引數。
18 ,zip無法開啟要讀取的指定檔案。
19 ,在此係統中不支援的選項編譯了zip。
6 、例子程式碼
|
7 、例項
1 )壓縮檔案
|
2 )給壓縮檔案新增、刪除內容
|
3 )壓縮時設定密碼
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29270124/viewspace-2283342/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux 命令 基礎Linux
- Linux基礎命令Linux
- linux的zip命令詳解Linux
- Linux基礎命令—mkswapLinux
- Linux基礎命令---mknodLinux
- Linux基礎命令---mkfsLinux
- Linux基礎命令---mktempLinux
- Linux基礎命令---sudoLinux
- Linux基礎命令---yesLinux
- Linux基礎命令---shutdownLinux
- Linux基礎命令---serviceLinux
- Linux基礎命令—sudoLinux
- Linux基礎命令—calLinux
- Linux基礎命令—dateLinux
- Linux基礎命令—lastLinuxAST
- Linux基礎命令---dateLinux
- Linux基礎命令---lastLinuxAST
- Linux基礎命令---lsusbLinux
- Linux基礎命令---lspciLinux
- Linux基礎命令---hwclockLinux
- Linux基礎命令---ejectLinux
- Linux基礎命令---archLinux
- Linux基礎命令---duLinux
- Linux基礎命令---dfLinux
- Linux基礎命令---bcLinux
- Linux基礎命令---calLinux
- Linux基礎命令---chkconfigLinux
- Linux基礎命令—lsusbLinux
- Linux基礎命令—dfLinux
- Linux基礎命令—hwclockLinux
- Linux基礎命令—mkdirLinux
- Linux基礎命令---lnLinux
- Linux基礎命令---chgrpLinux
- Linux基礎命令---findfsLinux
- Linux基礎命令—findfsLinux
- Linux基礎命令—swaponLinux
- Linux基礎命令---fsckLinux
- Linux基礎命令---swaponLinux