Provided by: manpages-zh_1.5-1_all bug

NAME

       zipinfo - 列出關於某紌IP壓縮包的詳細信息

` SYNOPSIS
       zipinfo [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]

       unzip -Z [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]

yz DESCRIPTION
       zipinfo           列出某紌IP檔案中的所包含檔案的技術信息,           它-
       拑握j多數和MS-DOS系統中的相同.信息包括檔案權設置,加密狀態,壓縮類型,
       以及壓縮程式的版本和所在的作業系統或者檔案系統等.預設時將為檔案中的每一-
                                            檔案列出一行,並在漲璈M末行給出整-
       蚗仵蛌熒妞A信息.其輸出的格式介於Unix中      ``ls     -l''和     ``unzip
       -v''的輸出結果.參看下悸 yz  DEATILED   DESCRIPTION   .    請注意
       zipinfounzip          是同一茧{式         (在Unix中,是一蚢鴷扛熙s接);
       然而在有些系統上, zipinfo 的支持在unzip 集成後已被忽略.

 ARGUMENTS
       file[.zip]
              ZIP                             壓縮包的路徑.如果指定的檔案是一-
              茬q配符,那麼將按照某種作業系統或者 檔案系統所決定的順序處理每一-
              茪t的檔案.只有檔名可以是通配符.路徑本   角ㄔi以.通配符表達式和
              Unix 中的 egrep(1) 正則表達式相似,可能包括:

              *      匹配一0或者任意多茼r符組成的序列

              ?      精確匹配一茼r符

              [...]  匹配中括號中的任何單茼r符;也可以通過-
                     漲r符,連字符和末字符指定一茪tS圍.如果一-
                     蚥撟譫鼎峈抴﹞J符(`!'或者`^')緊跟左括號;那麼將對括號中的內容取補集(也就是說,
                     任何不屬於括號中的字符將被匹配).

              (如果有任何字符會被作業系統所改變,請使用引號,特別是在 Unix  或者
              VMS              中)如果沒有匹配項出現,那麼指定的內容將被認為是-
              鴝l的檔名;如果這樣做也失敗,那麼將嘗試追加                   .zip
              延伸檔名.注意自解壓的ZIP檔案是支持的;只n明確指定            .exe
              延伸檔名即可.

       [file(s)]
              指定一茈i選的待處理的檔案列表.正則表達式(通配符)可以用來匹配多-
              茼叔;如上所z.再次提醒如果表達式會被作業系統所擴展或者蚹-
              n使用引號.

       [-x xfile(s)]
              指定一茈i選的將被忽略的檔案列表.

 OPTIONS
       -1     只列出檔名,一行一.這蚇龠筐膃釦馴的排它性;-
              漸膠瑹H息以及壓縮檔案的描-
              z信息將不會被輸出.它可以在Unix的Shell稿本中使用.

       -2     只列出檔名,一行一,但是允許輸出漲瑹H息    (-h),     末行信息(-t)
              和壓縮檔案描z信息 (-z). 這蚇龠策b檔名特別長的情況下或許有用.

       -s     以Unix的                        ``ls                        -l''
              的短格式列出壓縮檔案的信息.這是預設的,詳情見下.

       -m     以   Unix的    ``ls    -l''    的中長格式列出壓縮檔案的信息.和-s
              的輸出結果相同,但是它會列出以百分數表示的壓縮比率.

       -l     以    Unix的    ``ls   -l''   的長格式列出壓縮檔案的信息.和   -m
              輸出結果相同,除了壓縮比率被壓縮後的檔案大小(以字節為單位)所取代外.

       -v     詳細地以多隊閬’C出壓縮檔案的信息.

       -h     列出漲瑹H息.並輸出檔案名字,實際大小(以字節為單位)以及檔案數目.

       -M     將所有的輸出以和     Unix     中     more(1)     命令相似的內部-
              隍漱閬▼擖X.在螢幕輸出的末尾,zipinfo 將會暫停,並給出``--More--''
              提示;可以按Enter(Return)或者空格鍵查看下一屏內容.按``q''
              鍵(在某些系統上可能是Enter/Return鍵)可以結束zipinfo
              .與Unix中的more命令所不同,zipinfo
              沒有向前搜索和編輯功能.同時,zipinfo
              對於螢幕末的長行,不能有效地將它按兩行或者多行顯示出來,導Pzipinfo
              螢幕上方的一些文本在被瀏覽之前就卷過.在有些系統上螢幕上的可顯示行的數目是不能被取得的,在這種情況下,zipinfo
              假定為24行.

       -t     列出所有或者-
              n求被列出檔案的總體信息.輸出檔案的數目,壓縮前後的總大小,以及總的壓縮系數;或者如果只有總體信息被列印出,則給出整-
              蚗仵蛌澈H息.請注意總的壓縮數據的大小總是不同於實際的壓縮檔案的大小,這是因為後者包括了作為壓縮數據附屬物的所有的壓縮檔案內部的頭信息.

       -T     以按點分十進制的格式(yymmdd.hhmmss)排序輸出檔案的日期和時間.預設的日期格式是一-
              荍韞[標準的,使用者易讀的,使用月份名縮寫(參看下文)的版本.

       -z     包含檔案中的描z信息(如果有的話).

yz DETAILED DESCRIPTION
       zipinfo      有很多種工作方式,如果不太熟悉      Unix     中的     ls(1)
       (或者即使熟悉)的話,-
       n掌握好它的使用也是比較困難的.預設的方式是以如下的格式列出檔案:

  -rw-rws---  1.9 unx    2802 t- defX 11-Aug-91 13:48 perms.2660

       最後的三茼r段分別是檔案的-
       蚹鴾暾薨M時間,還有檔名.檔名的大小寫是區分的,這樣來自MS-DOS
       PKZIP的壓縮檔案總是被大寫.如果被壓縮的檔案存儲了路徑名,也將被看作是檔名的一部分而被顯示.

       第二,三茼r段表示了檔案是在 Unix 下以  1.9  版的  zip  壓縮的.由於它來自
       Unix                                        ,行開頭的檔案的存取權以Unix
       格式輸出.壓縮前的檔案大小(本例中為2802)在第四茼r段中給出.

       第太字段包含了兩茼r符,它怳云漕C茬ㄞ鄖Y幹蚧.第一-
       茼r符可能是`t'或者`b',相應地表示檔案是文本的或者是二進制的;但是如果檔案被加密,zipinfo
       通過大寫字符(`T'或者`B')來表示.第二茼r符可以取四蚧,它依賴於是否存在一-
       茈誚a的頭信息並且/或者一茤M那蚗仵蚻袺鰝    "額外"    字段(詳細解釋參看
       PKWare's        APPNOTE.TXT,它基本上類似於ANSI         C中的pragmas,它-
       抴ㄗ悀F一種包含非標準信息的標準方法).如果兩者都不存在,該字段為連字符(`-');如果有一-
       蚋X展的本地頭信息但是沒有額外字段,則為`l';反之為`x';如果都存在,則為`X'.這樣上-
       悼雰狺云瑰仵(很可能)是一-
       茈撲Q加密的純文字檔,並且沒有額外字段和本地頭信息與之相關聯.下-
       悸漕狺l則是一茼傢B外信息的二進制檔案.

  RWD,R,R     0.9 vms     168 Bx shrk  9-Aug-91 19:15 perms.0644

       額外的字段的使用是為了滿足不同的需n(參看下捫龠                      -v
       的討論)包括這裏討論所假設的情況:VMS                     檔案的存儲特性.
       一些其他的可能是為了處理作業系統(這是一-
       蚖~解,實際應該是檔案系統更恰當些)包括    OS/2    或者使用高性能檔案系統
       (HPFS)  的 NT ,MS_DOS, OS/2 或者使用檔案獲取表 (FAT) 作為檔案系統的 NT,
       Macintosh.它抭Q如下所標示:

  -rw-a--     1.0 hpf    5358 Tl i4:3  4-Dec-91 11:33 longfilename.hpfs
  -r--ahs     1.1 fat    4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF
  --w-------  1.0 mac   17357 bx i8:2  4-May-92 04:02 unzip.macr

       前兩茖狺l的檔案的屬性以類Unix的格式表示,其中七-
       茪l域分別表示該檔案是否(1)是一-
       茈媬,(2)是可讀的(總是)(3)是可寫的,(4)是可執行的(猜測建立在假定它-
       怐甄X展名為.exe,            .com,            .bat,           .cmd.btm
       的基礎上)(5)有它的歸檔位設置,(6)是隱藏的和(7)是一茖t統檔案.由於一些
       Macintosh 歸檔工具不存儲任何檔案信息, Macintosh 檔案的解釋是不可信的.

       最後,第六茼r段表示了壓縮使用的方法和子方法.
       現在已知有六種方法:存儲法(storing)(無壓縮),縮減法(reducing),收縮法(shrinking),
       內爆法(impoding),標誌法(tokenizing)(從來沒有公開發佈)和緊縮法(deflating).
       更進一步,縮減法有4種級別(從1到4);內爆法有4種類型(4K或者8K的滑動字典,和2或者3-
       紎hannon-Fano樹);緊縮法也有4蚍h次(超快,快,正常,最大壓縮).zipinfo
       用如下的方式代表了這些方法和子方法: stor;re:1, re:2, etc.; shrk;  i4:2,
       i8:3, etc.; tokn; and defS, defF, defN, and defX.

       中長和長列表格式顯示幾乎和短列表相同,除去它怐加了檔案壓縮方-
       悸澈H息.中長格式以百分數列出了檔案壓縮率,它代表了被節省的空間:

  -rw-rws---  1.5 unx    2802 t- 81% defX 11-Aug-91 13:48 perms.2660

       在這茖狺l中,檔案以超過5羲漱顐珜Q壓縮;壓縮後的數據大小僅為-
       鴐O大小的19%.長格式則以以字節大小為單位的壓縮後檔案大小表示該信息:

  -rw-rws---  1.5 unx    2802 t-     538 defX 11-Aug-91 13:48 perms.2660

       增加 -T  選項則將檔案的日期和時間以點分格式輸出:

  -rw-rws---  1.5 unx    2802 t-     538 defX 910811.134804 perms.2660

       注意到因為       MS-DOS       格式中用來存儲檔案時間的制,第二荌嚌`是取-
       偃怐顒滌蜈.對於 Unix 檔案  zip(1L)   和  unzip  很可能在它怐漱U一-
       茠岩誘之幭.

       作為單獨檔案信息的補充,預設的輸出還包括頭和末信息行:

  Archive:  OS2.zip   5453 bytes   5 files
  ,,rw,       1.0 hpf     730 b- i4:3 26-Jun-92 23:40 Contents
  ,,rw,       1.0 hpf    3710 b- i4:3 26-Jun-92 23:33 makefile.os2
  ,,rw,       1.0 hpf    8753 b- i8:3 26-Jun-92 15:29 os2unzip.c
  ,,rw,       1.0 hpf      98 b- stor 21-Aug-91 15:34 unzip.def
  ,,rw,       1.0 hpf      95 b- stor 21-Aug-91 17:51 zipinfo.def
  5 files, 13386 bytes uncompressed, 4951 bytes compressed:  63.0%

       頭行給出了檔案的名字,它的總大小,總的檔案數;末行給出了所列出的檔案數,它-
       攽`的解壓後的大小和它攽`的解壓前的大小(不包含任何的                 zip
       內部的部分).但是,如果指定一茤峈-
       Y幹的檔案,則頭信息和末信息將不會列出.這種行為與Unix中的    ``ls    -l''
       類似;可以通過明確指定 -h h或者 -t 選項強制顯示.

       在這種情況下,由於                -h-t
       (或同時)而沒有其他選項意味著只有頭信息或者末信息(或同時)被列出,列表的格式同樣需-
       n明確地指定.對此可參看下       "EXAMPLES"       部分獲得這-
       茧L意義的半智能化的轉化.

       冗餘的列表顯示內容大多數都是自解釋的.它還列出了檔案和檔案檔案的描-
       z,如果有的話,還列出所有存儲在額外域中的類型和字節數.當前已知的額外域的類型包括
       PKWARE  的認証(``AV'')信息;OS/2  擴展屬性;VMS  檔案系統信息,PLWARE   和
       Info-ZIP  的版本;  Macintosh  的resource forks;Acorn/Archimedes SparkFS
       信息等等.(對於OS/2的擴展屬性(壓縮檔案額外域中最常用的部分)      zipinfo
       報告的  EAs  的存儲大小可能與  OS/2  使用  dir 命令給出得結果不一P:OS/2
       總是以16位格式輸出字節數,而 zipinfo 總是以32位存儲輸出.)

 ENVIRONMENT OPTIONS
       通過設置在環境變量中的選項可以改變                              zipinfo
       的預設的工作方式,但是解釋起來稍微有點復雜,       這是因為      zipinfo
       試圖以一種直觀,類             Unix              的方式進行預設工作.(不-
       n笑)然而這裏有一些內在的邏輯.簡言之,選項有三-
       蚗u先等級:預設選項;環境選項,它是優先於預設選項的,並作為其的補充;使用者傳遞的明確的選項,它是優先於上-
       z兩類並作為其補充的.

       預設的輸出列表格式,正如上z描z的,粗略地對應於       "zipinfo       -hst"
       命令(除非指定一茬瞈W的壓縮檔案).         一荌噸R長輸出格式         (-l)
       的使用者能夠使用zipinfo的環境變量來改變預設的運作:

       Unix Bourne shell:
              ZIPINFO=-l; export ZIPINFO

       Unix C shell:
              setenv ZIPINFO -l

       OS/2 or MS-DOS:
              set ZIPINFO=-l

       VMS (quotes for lowercase):
              define ZIPINFO_OPTS "-l"

       另外,如果使用者不喜歡末行信息,zipinfo
       的"反選項"的概念可以用來覆蓋預設的總結行信息.這可以通過在不想使用的選項前加上減號實現:例如,,在這-
       茖狺l中可以使用``-l-t''          或者          ``--tl''          .第一-
       茬s字符是規則開關符,而`t'之前的那茯O減號.連續使用兩-
       茬s字符看起來有些笨拙.但是從直覺出發並非無意義:只用忽略第一-
       茬s字符並從此開始.它同樣和Unix命令中的 nice(1) 相一P.

       正如上惟珒ㄗ鴘,對於VMS預設的環境變量是ZIPINFO_OPTS(否則將作為一茼w裝
       zipinfo
       的外來命令和環境變量相混淆),而對於其它的作業系統則是ZIPINFO.為了與zip(1L)
       相容,ZIPINFOOPT也被接受(不-
       n問為什麼).如果ZIPINFO和ZIPINFOOPT均被定義,則ZIPINFO優先.         unzip
       的診斷選項(-v   且沒有壓縮檔名)能夠用來檢查所有的四茈i能的   unzipzipinfo 環境變量.

 EXAMPLES
       n獲得一蚗Y檔案                                            storage.zip
       的基本的,短格式輸出的完整的內容,並包含頭末行信息,使用檔案名作為zipinfo
       的參數即可:

           zipinfo storage

       n獲得一荌禰貌,長格式(非冗餘)的,包含頭末行信息的列表,用 -l:

           zipinfo -l storage

       n獲得一蚗仵蛌漣嗾膉漁e,並且不包含頭末行信息,可以使用    -h-t
       的反選項,也可以明確指定顯示內容:

           zipinfo --h-t storage
           zipinfo storage \*

       (這裏的反斜槓  (backslash  `')  只是在 shell 會將 `*' 通配符擴展時才必-
       n,正如在          Unix          中雙引號擴起來的星號將會全局有效).如果-
       n預設關閉所有的行顯示,可以使用環境變量(這裏假設是C shell):

           setenv ZIPINFO --t
           zipinfo storage

       n獲得第一茖狺l的完整的,短格式的列表輸出,如果環境變量已經像前-
       悸漕獐佼]置好了,就需n明確指定-s 選項,因為 -t 選項本言u表示輸出末行信息:

           setenv ZIPINFO --t
           zipinfo -t storage            [only totals line]
           zipinfo -st storage           [full listing]

       -s              選項和              -m-l,
       選項一樣,預設情況下包含了頭末行信息,除非另外指定,因為規定不顯示末行信息的環境變量較之於預設的
       -s     選項的優先權更高,因此為了得到完整的列表輸出,就需n明確指定     -t
       選項.沒有什麼(環境變量)與頭信息相關連,因此 -s 選項就足夠了.請注意當使用
       -h-t                  選項的時-
       ,將不顯示任何預設的檔案列表;只顯示頭和/或末信息.在使用一茬q配符作為
       zipinfo              的參數的時,這種模式是有用的;所有檔案的內容只用一-
       茤R令就歸納出了.

       n以中長格式列出檔案中的一茬瞈W檔案的信息,只用明確指定檔名就可以了:

           zipinfo -m storage unshrink.c

       指定任何一蚗仵蛈-
       的檔名,就像在本例一樣,將不再顯示預設的頭末信息;只有顯示特定檔案信息的那行將被輸出.當-
       n獲得某茬瞈W的檔案的信息的時堀o種模式符合直覺.對於多-
       蚗仵蛌滷“,知道總共的壓縮前後的檔案的大小常是有用的;在這種情況下    -t
       選項常需n明確指定:

           zipinfo -mt storage "*.[ch]" Mak\*

       為了獲得一紌IP檔案的完全信息,可使用冗餘選項.如果作業系統允許的話把輸出-
       咿w向至一蚢L濾器例如Unix中的more(1)  通常是明智之舉:

           zipinfo -v storage | more

       最後,為了查看檔案中最近蚹麊瑰仵,可使用  -T  選項配合外部的排序程式比如
       Unix 中的 sort(1) (還有這茖狺l中的 tail(1) ):

           zipinfo -T storage | sort -n +6 | tail -15

       -n 選項告訴 sort(1) 以數字大小排序而不是 ASCII 順序, +6 選項意為以第一-
       茷嵿的第六茼r段排序(也就是說是第七-
       茼r段).這裏假定是預設的短格式輸出;如果使用了 -m 或者  -l  選項,則正確的
       sort(1) 選項將是 +7.tail(1) 命令除去最後15行以外的所有內容.以後的版本的
       zipinfo 可能會集成日期/時間和檔名的排序於內建的選項.

 TIPS
       作者發現如果在可以使用別名的系統(或者允許在系統上拷貝/-
       咿R名可執行程式,建立鏈接或者可以以ii 為名建立一茤R令檔案)上定義 zipinfo
       的別名為             ii             將會帶來很大的方便.              ii
       的用法和通常的作為Unix中長格式輸出的別名的       ll       相它,而且兩-
       茤R令的輸出的相似性是有意義的.

BUGS

       相對於         unzip,zipinfo-M          (``more'')
       選項總體上來說在處理螢幕輸出時是過於簡單了;正如上-
       惚出的,它不能正確地發現過長的行,因此很可能引起螢幕上端的行在被讀取之前就被滾動略過.如果附加一-
       蚚B外的行,zipinfo                      應該能發現並且處理這種情況.這需-
       n獲得螢幕的寬和高.並且,zipinfo 還n獲得所有系統中的螢幕的真實尺寸.

       zipinfo的按列輸出的模式是沒有必-
       n那麼復雜的,應進行簡化(這裏並不是說將會的到簡化).

 SEE ALSO
       ls(1),  funzip(1L),  unzip(1L),  unzipsfx(1L),  zip(1L),  zipcloak(1L),
       zipnote(1L), zipsplit(1L)

URL

       The Info-ZIP home page is currently at
           http://www.info-zip.org/pub/infozip/ftp://ftp.info-zip.org/pub/infozip/ .

@ AUTHOR
       Greg     ``Cave      Newt''      Roelofs.       ZipInfo      包含了Mark
       Adler的模式匹配的代碼以及其他很多人的-
       蚰/改進.請參考UnZip源程式發佈中的CONTRIBS檔案獲得更加完整的列表.

[]
      Y <tinyfat@263.net>

[]
       2003.11.22

mlinuxan:
       http://cmpp.linuxforum.net