⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manual

📁 给出了 zip 压缩算法的完整实现过程。
💻
📖 第 1 页 / 共 3 页
字号:
              Also possible:                     zip -r foo foo -x@exclude.lst              which  will include the contents of foo in foo.zip while exclud-              ing  all  the  files  that  match  the  patterns  in  the   file              exclude.lst (each file pattern on a separate line).       -X     Do  not save extra file attributes (Extended Attributes on OS/2,              uid/gid and file times on Unix).       -y     Store symbolic links as such in the zip archive, instead of com-              pressing  and  storing  the  file  referred to by the link (UNIX              only).       -z     Prompt for a multi-line comment for the entire zip archive.  The              comment  is  ended by a line containing just a period, or an end              of file condition (^D on UNIX, ^Z on MSDOS, OS/2, and VMS).  The              comment can be taken from a file:                     zip -z foo < foowhat       -#     Regulate  the  speed of compression using the specified digit #,              where -0 indicates no compression (store all  files),  -1  indi-              cates  the  fastest compression method (less compression) and -9              indicates the slowest compression method  (optimal  compression,              ignores the suffix list). The default compression level is -6.       -!     [WIN32]  Use  priviliges  (if  granted) to obtain all aspects of              WinNT security.       -@     Take the list of input files from standard input. Only one file-              name per line.       -$     [MSDOS,  OS/2,  WIN32]  Include  the  volume label for the drive              holding the first file to be compressed.  If you want to include              only  the  volume  label  or  to force a specific drive, use the              drive name as first file name, as in:                     zip -$ foo a: c:barEXAMPLES       The simplest example:              zip stuff *       creates the archive stuff.zip (assuming it does not exist) and puts all       the  files in the current directory in it, in compressed form (the .zip       suffix is added automatically, unless that archive name given  contains       a  dot  already;  this  allows the explicit specification of other suf-       fixes).       Because of the way the shell does filename substitution, files starting       with "." are not included; to include these as well:              zip stuff .* *       Even  this  will not include any subdirectories from the current direc-       tory.       To zip up an entire directory, the command:              zip -r foo foo       creates the archive foo.zip, containing all the files  and  directories       in the directory foo that is contained within the current directory.       You  may  want  to  make  a zip archive that contains the files in foo,       without recording the directory name, foo.  You can use the  -j  option       to leave off the paths, as in:              zip -j foo foo/*       If  you are short on disk space, you might not have enough room to hold       both the  original  directory  and  the  corresponding  compressed  zip       archive.   In  this case, you can create the archive in steps using the       -m option.  If foo contains the subdirectories tom,  dick,  and  harry,       you can:              zip -rm foo foo/tom              zip -rm foo foo/dick              zip -rm foo foo/harry       where  the  first  command creates foo.zip, and the next two add to it.       At the completion of each zip command,  the  last  created  archive  is       deleted, making room for the next zip command to function.PATTERN MATCHING       This  section  applies  only  to  UNIX, though the ?, *, and [] special       characters are implemented on other systems including MSDOS and  Win32.       Watch this space for details on MSDOS and VMS operation.       The  UNIX shells (sh(1) and csh(1)) do filename substitution on command       arguments.  The special characters are:       ?      match any single character       *      match any number of characters (including none)       []     match any character in the range indicated within  the  brackets              (example: [a-f], [0-9]).       When  these  characters  are  encountered (without being escaped with a       backslash or quotes), the shell will look for  files  relative  to  the       current  path  that  match the pattern, and replace the argument with a       list of the names that matched.       The zip program can do the same matching on names that are in  the  zip       archive  being  modified  or,  in  the  case  of the -x (exclude) or -i       (include) options, on the list of files to be  operated  on,  by  using       backslashes  or  quotes to tell the shell not to do the name expansion.       In general, when zip encounters a name in the list of files to  do,  it       first  looks  for the name in the file system.  If it finds it, it then       adds it to the list of files to do.  If it does not find it,  it  looks       for  the  name  in the zip archive being modified (if it exists), using       the pattern matching characters described above, if present.  For  each       match,  it  will  add  that  name to the list of files to be processed,       unless this name matches one given with the  -x  option,  or  does  not       match any name given with the -i option.       The pattern matching includes the path, and so patterns like \*.o match       names that end in ".o", no matter what the path prefix is.   Note  that       the  backslash must precede every special character (i.e. ?*[]), or the       entire argument must be enclosed in double quotes ("").       In general, use backslash to make zip do the pattern matching with  the       -f  (freshen)  and  -d  (delete)  options,  and  sometimes after the -x       (exclude) option when used with an appropriate operation (add, -u,  -f,       or -d).ENVIRONMENT       ZIPOPT contains default options that will be used when running zip       ZIP    [Not on RISC OS and VMS] see ZIPOPT       Zip$Options              [RISC OS] see ZIPOPT       Zip$Exts              [RISC  OS]  contains extensions separated by a : that will cause              native filenames with one of  the  specified  extensions  to  be              added to the zip file with basename and extension swapped.  zip       ZIP_OPTS              [VMS] see ZIPOPTSEE ALSO       compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)DIAGNOSTICS       The exit status (or error level) approximates the exit codes defined by       PKWARE and takes on the following values, except under VMS:              0      normal; no errors or warnings detected.              2      unexpected end of zip file.              3      a generic error in the zipfile format was detected.  Pro-                     cessing may have completed successfully anyway; some bro-                     ken zipfiles created by other archivers have simple work-                     arounds.              4      zip was unable to allocate memory for one or more buffers                     during program initialization.              5      a severe error in the zipfile format was detected.   Pro-                     cessing probably failed immediately.              6      entry too large to split (with zipsplit), read, or write              7      invalid comment format              8      zip -T failed or out of memory              9      the user aborted zip prematurely with control-C (or simi-                     lar)              10     zip encountered an error while using a temp file              11     read or seek error              12     zip has nothing to do              13     missing or empty zip file              14     error writing to a file              15     zip was unable to create a file to write to              16     bad command line parameters              18     zip could not open a specified file to read       VMS interprets standard Unix (or PC) return values as  other,  scarier-       looking  things,  so zip instead maps them into VMS-style status codes.       The current mapping is as follows:   1 (success) for normal exit,        and (0x7fff000? + 16*normal_zip_exit_status) for all errors, where the       `?' is 0 (warning) for zip value 12, 2 (error) for the zip values 3, 6,       7, 9, 13, 16, 18, and 4 (fatal error) for the remaining ones.BUGS       zip 2.32 is not compatible with PKUNZIP 1.10. Use zip  1.1  to  produce       zip files which can be extracted by PKUNZIP 1.10.       zip  files produced by zip 2.32 must not be updated by zip 1.1 or PKZIP       1.10, if they contain encrypted members or if they have  been  produced       in a pipe or on a non-seekable device. The old versions of zip or PKZIP       would create an archive with an incorrect format.  The old versions can       list the contents of the zip file but cannot extract it anyway (because       of the new compression algorithm).  If you do not  use  encryption  and       use regular disk files, you do not have to care about this problem.       Under  VMS, not all of the odd file formats are treated properly.  Only       stream-LF format zip files are expected to work with zip.   Others  can       be  converted  using  Rahul  Dhesi's BILF program.  This version of zip       handles some of the conversion internally.  When using Kermit to trans-       fer zip files from Vax to MSDOS, type "set file type block" on the Vax.       When transferring from MSDOS to Vax, type "set file type fixed" on  the       Vax.  In both cases, type "set file type binary" on MSDOS.       Under  VMS,  zip  hangs  for file specification that uses DECnet syntax       foo::*.*.       On OS/2, zip cannot match some names, such as those including an excla-       mation  mark  or a hash sign.  This is a bug in OS/2 itself: the 32-bit       DosFindFirst/Next don't find such names.  Other programs  such  as  GNU       tar are also affected by this bug.       Under  OS/2, the amount of Extended Attributes displayed by DIR is (for       compatibility) the amount returned by the 16-bit version  of  DosQuery-       PathInfo().  Otherwise OS/2 1.3 and 2.0 would report different EA sizes       when DIRing a file.  However, the  structure  layout  returned  by  the       32-bit  DosQueryPathInfo()  is  a  bit different, it uses extra padding       bytes and link pointers (it's a linked list)  to  have  all  fields  on       4-byte  boundaries for portability to future RISC OS/2 versions. There-       fore the value reported by zip (which uses this 32-bit-mode size)  dif-       fers  from  that  reported  by  DIR.   zip stores the 32-bit format for       portability, even the 16-bit MS-C-compiled version running on OS/2 1.3,       so even this one shows the 32-bit-mode size.       Development  of  zip 3.0  and unzip 6.0 are underway.  See those source       distributions for many new features and the latest bug fixes.AUTHORS       Copyright (C) 1997-2006 Info-ZIP.       Copyright (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly,       Onno  van  der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush and       Paul Kienitz.  Permission is granted to any individual  or  institution       to use, copy, or redistribute this software so long as all of the orig-       inal files are included, that it is not sold for profit, and that  this       copyright notice is retained.       LIKE  ANYTHING  ELSE  THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES ARE       PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER  EXPRESSED       OR  IMPLIED.  IN  NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY       DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE.       Please send bug reports and comments to: zip-bugs at  www.info-zip.org.       For  bug  reports,  please include the version of zip (see zip -h), the       make options used to compile it (see zip -v), the machine and operating       system in use, and as much additional information as possible.ACKNOWLEDGEMENTS       Thanks  to  R. P. Byrne for his Shrink.Pas program, which inspired this       project, and from which the shrink algorithm was stolen; to  Phil  Katz       for  placing in the public domain the zip file format, compression for-       mat, and .ZIP filename extension, and for accepting  minor  changes  to       the  file  format; to Steve Burg for clarifications on the deflate for-       mat; to Haruhiko Okumura and Leonid Broukhis for providing some  useful       ideas  for  the  compression  algorithm; to Keith Petersen, Rich Wales,       Hunter Goatley and Mark Adler for providing a mailing list and ftp site       for  the  Info-ZIP  group to use; and most importantly, to the Info-ZIP       group itself (listed in the file infozip.who)  without  whose  tireless       testing  and bug-fixing efforts a portable zip would not have been pos-       sible.  Finally we should thank (blame) the first  Info-ZIP  moderator,       David  Kirschbaum,  for  getting  us into this mess in the first place.       The manual page was rewritten for UNIX by R. P. C. Rodgers.Info-ZIP                     19 June 2006 (v2.32)                      ZIP(1L)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -