which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			859 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			859 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
| NAME
 | |
|        zip,  zipcloak,  zipnote,  zipsplit - package and compress
 | |
|        (archive) files
 | |
| 
 | |
| SYNOPSIS
 | |
|        zip  [-AcdDeEfFghjklLmoqrSTuvVwXyz@$]  [-b path]  [-n suf-
 | |
|        fixes]   [-t mmddyy]   [   zipfile  [  file1  file2  ...]]
 | |
|        [-xi list]
 | |
| 
 | |
|        zipcloak [-dhL] [-b path] zipfile
 | |
| 
 | |
|        zipnote [-hwL] [-b path] zipfile
 | |
| 
 | |
|        zipsplit [-hiLpst] [-n size] [-b path] zipfile
 | |
| 
 | |
| DESCRIPTION
 | |
|        zip is a compression and file packaging utility for  Unix,
 | |
|        VMS,  MSDOS, OS/2, Windows NT, Minix, Atari and Macintosh.
 | |
|        It is analogous to a  combination  of  the  UNIX  commands
 | |
|        tar(1)  and compress(1) and is compatible with PKZIP (Phil
 | |
|        Katz's ZIP for MSDOS systems).
 | |
| 
 | |
|        A companion program  (unzip(1L)),  unpacks  zip  archives.
 | |
|        The zip and unzip(1L) programs can work with archives pro-
 | |
|        duced by PKZIP,  and  PKZIP  and  PKUNZIP  can  work  with
 | |
|        archives  produced  by zip.  zip version 2.1 is compatible
 | |
|        with PKZIP 2.04.  Note that PKUNZIP  1.10  cannot  extract
 | |
|        files  produced  by  PKZIP  2.04  or zip 2.1. You must use
 | |
|        PKUNZIP 2.04g  or  unzip  5.0p1  (or  later  versions)  to
 | |
|        extract them.
 | |
| 
 | |
|        For a brief help on zip and unzip, run each without speci-
 | |
|        fying any parameters on the command line.
 | |
| 
 | |
|        The program is useful for packaging a  set  of  files  for
 | |
|        distribution;  for  archiving  files;  and for saving disk
 | |
|        space by temporarily compressing unused files or  directo-
 | |
|        ries.
 | |
| 
 | |
|        The  zip  program puts one or more compressed files into a
 | |
|        single zip archive, along with information about the files
 | |
|        (name,  path, date, time of last modification, protection,
 | |
|        and check  information  to  verify  file  integrity).   An
 | |
|        entire  directory  structure  can  be  packed  into  a zip
 | |
|        archive with a single command.  Compression ratios of  2:1
 | |
|        to 3:1 are common for text files.  zip has one compression
 | |
|        method (deflation) and can also store files  without  com-
 | |
|        pression.  zip automatically chooses the better of the two
 | |
|        for each file to be compressed.
 | |
| 
 | |
|        When given the name of an existing zip archive,  zip  will
 | |
|        replace  identically  named  entries in the zip archive or
 | |
|        add entries for new names.  For example, if foo.zip exists
 | |
|        and  contains  foo/file1  and foo/file2, and the directory
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          1
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        foo contains the files foo/file1 and foo/file3, then:
 | |
| 
 | |
|               zip -r foo foo
 | |
| 
 | |
|        will replace foo/file1 in foo.zip  and  add  foo/file3  to
 | |
|        foo.zip.    After   this,   foo.zip   contains  foo/file1,
 | |
|        foo/file2, and foo/file3, with  foo/file2  unchanged  from
 | |
|        before.
 | |
| 
 | |
|        If the file list is specified as -@, zip takes the list of
 | |
|        input files from standard input.  Under UNIX, this  option
 | |
|        can  be  used  to  powerful effect in conjunction with the
 | |
|        find(1) command.  For example, to archive all the C source
 | |
|        files in the current directory and its subdirectories:
 | |
| 
 | |
|               find . -name "*.[ch]" -print | zip source -@
 | |
| 
 | |
|        (note  that  the  pattern must be quoted to keep the shell
 | |
|        from expanding it).  zip will also accept  a  single  dash
 | |
|        ("-")  as  the  zip file name, in which case it will write
 | |
|        the zip file to standard output, allowing the output to be
 | |
|        piped to another program. For example:
 | |
| 
 | |
|               zip -r - . | dd of=/dev/nrst0 obs=16k
 | |
| 
 | |
|        would  write  the  zip  output directly to a tape with the
 | |
|        specified block size for the purpose  of  backing  up  the
 | |
|        current directory.
 | |
| 
 | |
|        zip also accepts a single dash ("-") as the name of a file
 | |
|        to be compressed, in which case it will read the file from
 | |
|        standard  input,  allowing  zip to take input from another
 | |
|        program. For example:
 | |
| 
 | |
|               tar cf - . | zip backup -
 | |
| 
 | |
|        would compress the output of the tar command for the  pur-
 | |
|        pose  of  backing up the current directory. This generally
 | |
|        produces better  compression  than  the  previous  example
 | |
|        using  the  -r  option,  because zip can take advantage of
 | |
|        redundancy between files. The backup can be restored using
 | |
|        the command
 | |
| 
 | |
|               unzip -p backup | tar xf -
 | |
| 
 | |
|        When  no zip file name is given and stdout is not a termi-
 | |
|        nal, zip acts as a filter, compressing standard  input  to
 | |
|        standard output.  For example,
 | |
| 
 | |
|               tar cf - . | zip | dd of=/dev/nrst0 obs=16k
 | |
| 
 | |
|        is equivalent to
 | |
| 
 | |
|               tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          2
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        zip  archives created in this manner can be extracted with
 | |
|        the program funzip which is provided in the unzip package,
 | |
|        or  by  gunzip  which is provided in the gzip package. For
 | |
|        example:
 | |
| 
 | |
|        dd if=/dev/nrst0  ibs=16k | funzip | tar xvf -
 | |
| 
 | |
|        When changing an existing zip archive, zip  will  write  a
 | |
|        temporary file with the new contents, and only replace the
 | |
|        old one when the process of creating the new  version  has
 | |
|        been completed without error.
 | |
| 
 | |
|        If  the name of the zip archive does not contain an exten-
 | |
|        sion, the extension .zip is added.  If  the  name  already
 | |
|        contains  an extension other than .zip the existing exten-
 | |
|        sion is kept unchanged.
 | |
| 
 | |
| OPTIONS
 | |
|        -A     Adjust self-extracting executable archive.  A self-
 | |
|               extracting   executable   archive   is  created  by
 | |
|               prepending the SFX stub to an existing archive. The
 | |
|               -A  option  tells  zip  to adjust the entry offsets
 | |
|               stored in the archive to  take  into  account  this
 | |
|               "preamble" data.
 | |
| 
 | |
|        -b path
 | |
|               Use  the  specified  path  for  the  temporary  zip
 | |
|               archive. For example:
 | |
| 
 | |
|                      zip -b /tmp stuff *
 | |
| 
 | |
|               will put the temporary zip archive in the directory
 | |
|               /tmp,  copying over stuff.zip to the current direc-
 | |
|               tory when done. This option  is  only  useful  when
 | |
|               updating  an  existing archive, and the file system
 | |
|               containing this old archive does  not  have  enough
 | |
|               space  to hold both old and new archive at the same
 | |
|               time.
 | |
| 
 | |
|        -c     Add one-line comments for each file.   File  opera-
 | |
|               tions  (adding,  updating)  are done first, and the
 | |
|               user is then prompted for a  one-line  comment  for
 | |
|               each  file.   Enter the comment followed by return,
 | |
|               or just return for no comment.
 | |
| 
 | |
|        -d     Remove (delete) entries from a  zip  archive.   For
 | |
|               example:
 | |
| 
 | |
|                      zip -d foo foo/tom/junk foo/harry/\* \*.o
 | |
| 
 | |
|               will  remove  the  entry  foo/tom/junk,  all of the
 | |
|               files that start with foo/harry/, and  all  of  the
 | |
|               files  that  end  with .o (in any path).  Note that
 | |
|               shell pathname expansion has  been  inhibited  with
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          3
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|               backslashes,  so  that  zip  can see the asterisks,
 | |
|               enabling zip to match on the contents  of  the  zip
 | |
|               archive  instead  of  the  contents  of the current
 | |
|               directory.
 | |
| 
 | |
|               Under MSDOS, -d is case sensitive when  it  matches
 | |
|               names  in the zip archive.  This requires that file
 | |
|               names be entered in upper case if they were  zipped
 | |
|               by PKZIP on an MSDOS system.
 | |
| 
 | |
|        -D     Do not create entries in the zip archive for direc-
 | |
|               tories.  Directory entries are created  by  default
 | |
|               so  that  their  attributes can be saved in the zip
 | |
|               archive.  The environment variable  ZIPOPT  can  be
 | |
|               used  to  change  the  default options. For example
 | |
|               under Unix with sh:
 | |
| 
 | |
|                      ZIPOPT="-D"; export ZIPOPT
 | |
| 
 | |
|               (The variable ZIPOPT can be  used  for  any  option
 | |
|               except  -i and -x and can include several options.)
 | |
|               The option -D is a shorthand for -x  "*/"  but  the
 | |
|               latter cannot be set as default in the ZIPOPT envi-
 | |
|               ronment variable.
 | |
| 
 | |
|        -e     Encrypt the contents of the  zip  archive  using  a
 | |
|               password  which  is  entered  on  the  terminal  in
 | |
|               response to a prompt (this will not be  echoed;  if
 | |
|               standard  error is not a tty, zip will exit with an
 | |
|               error).  The password prompt is  repeated  to  save
 | |
|               the user from typing errors.
 | |
| 
 | |
|        -f     Replace  (freshen)  an  existing  entry  in the zip
 | |
|               archive only if it has been modified more  recently
 | |
|               than the version already in the zip archive; unlike
 | |
|               the update option (-u) this will not add files that
 | |
|               are not already in the zip archive.  For example:
 | |
| 
 | |
|                      zip -f foo
 | |
| 
 | |
|               This  command should be run from the same directory
 | |
|               from which the original zip command was run,  since
 | |
|               paths stored in zip archives are always relative.
 | |
| 
 | |
|               Note  that  the  timezone  environment  variable TZ
 | |
|               should be set according to the  local  timezone  in
 | |
|               order  for  the -f , -u and -o options to work cor-
 | |
|               rectly.
 | |
| 
 | |
|               The reasons behind this  are  somewhat  subtle  but
 | |
|               have  to  do with the differences between the Unix-
 | |
|               format file times (always in GMT) and most  of  the
 | |
|               other operating systems (always local time) and the
 | |
|               necessity to compare the two.  A typical  TZ  value
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          4
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|               is ``MET-1METDST'' (Middle European time with auto-
 | |
|               matic adjustment  for  ``summertime''  or  Daylight
 | |
|               Savings Time).
 | |
| 
 | |
|        -F     Fix  the  zip  archive.  This option can be used if
 | |
|               some portions of the archive are missing. It is not
 | |
|               guaranteed  to  work,  so you MUST make a backup of
 | |
|               the original archive first.
 | |
| 
 | |
|               When doubled as in -FF the compressed  sizes  given
 | |
|               inside  the damaged archive are not trusted and zip
 | |
|               scans for special signatures to identify the limits
 | |
|               between  the archive members. The single -F is more
 | |
|               reliable if the archive is not  too  much  damaged,
 | |
|               for  example  if it has only been truncated, so try
 | |
|               this option first.
 | |
| 
 | |
|               Neither option will recover archives that have been
 | |
|               incorrectly  transferred  in  ascii mode instead of
 | |
|               binary. After the repair, the -t  option  of  unzip
 | |
|               may show that some files have a bad CRC. Such files
 | |
|               cannot be recovered; you can remove them  from  the
 | |
|               archive using the -d option of zip.
 | |
| 
 | |
|        -g     Grow (append to) the specified zip archive, instead
 | |
|               of creating a new one. If this operation fails, zip
 | |
|               attempts  to  restore  the  archive to its original
 | |
|               state. If the restoration fails, the archive  might
 | |
|               become corrupted.
 | |
| 
 | |
|        -h     Display the zip help information (this also appears
 | |
|               if zip is run with no arguments).
 | |
| 
 | |
|        -i files
 | |
|               Include only the specified files, as in:
 | |
| 
 | |
|                      zip -r foo . -i \*.c
 | |
| 
 | |
|               which will include only the files that end in .c in
 | |
|               the current directory and its subdirectories. (Note
 | |
|               for PKZIP users: the equivalent command is
 | |
| 
 | |
|                      pkzip -rP foo *.c
 | |
| 
 | |
|               PKZIP does not allow recursion in directories other
 | |
|               than  the  current  one.)  The backslash avoids the
 | |
|               shell  filename  substitution,  so  that  the  name
 | |
|               matching  is performed by zip at all directory lev-
 | |
|               els.
 | |
| 
 | |
|        -j     Store just the name  of  a  saved  file  (junk  the
 | |
|               path),   and  do  not  store  directory  names.  By
 | |
|               default, zip will store the full path (relative  to
 | |
|               the current path).
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          5
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        -J     Strip any prepended data (e.g. a SFX stub) from the
 | |
|               archive.
 | |
| 
 | |
|        -k     Attempt to convert the names and paths  to  conform
 | |
|               to  MSDOS, store only the MSDOS attribute (just the
 | |
|               user write attribute from UNIX), and mark the entry
 | |
|               as  made  under MSDOS (even though it was not); for
 | |
|               compatibility with PKUNZIP under MSDOS which cannot
 | |
|               handle certain names such as those with two dots.
 | |
| 
 | |
|        -l     Translate  the  Unix  end-of-line character LF into
 | |
|               the MSDOS convention CR LF. This option should  not
 | |
|               be  used  on binary files.  This option can be used
 | |
|               on Unix if the zip file  is  intended  for  PKUNZIP
 | |
|               under  MSDOS. If the input files already contain CR
 | |
|               LF, this option adds an extra CR. This ensure  that
 | |
|               unzip -a on Unix will get back an exact copy of the
 | |
|               original file, to undo the effect of zip -l.
 | |
| 
 | |
|        -ll    Translate the MSDOS end-of-line CR LF into Unix LF.
 | |
|               This  option  should  not  be used on binary files.
 | |
|               This option can be used on MSDOS if the zip file is
 | |
|               intended for unzip under Unix.
 | |
| 
 | |
|        -L     Display the zip license.
 | |
| 
 | |
|        -m     Move  the  specified  files  into  the zip archive;
 | |
|               actually, this deletes the target directories/files
 | |
|               after making the specified zip archive. If a direc-
 | |
|               tory becomes empty after removal of the files,  the
 | |
|               directory  is  also  removed. No deletions are done
 | |
|               until zip has created the  archive  without  error.
 | |
|               This  is  useful  for conserving disk space, but is
 | |
|               potentially dangerous so it is recommended  to  use
 | |
|               it  in  combination  with  -T  to  test the archive
 | |
|               before removing all input files.
 | |
| 
 | |
|        -n suffixes
 | |
|               Do not attempt to compress  files  named  with  the
 | |
|               given  suffixes.   Such files are simply stored (0%
 | |
|               compression) in the output zip file,  so  that  zip
 | |
|               doesn't  waste  its  time  trying to compress them.
 | |
|               The suffixes are  separated  by  either  colons  or
 | |
|               semicolons.  For example:
 | |
| 
 | |
|                      zip -rn .Z:.zip:.tiff:.gif:.snd  foo foo
 | |
| 
 | |
|               will  copy  everything  from  foo into foo.zip, but
 | |
|               will store any files that end in .Z,  .zip,  .tiff,
 | |
|               .gif,  or  .snd  without  trying  to  compress them
 | |
|               (image and sound files often have  their  own  spe-
 | |
|               cialized  compression  methods).   By  default, zip
 | |
|               does not compress files with extensions in the list
 | |
|               .Z:.zip:.zoo:.arc:.lzh:.arj.  Such files are stored
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          6
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|               directly in the output  archive.   The  environment
 | |
|               variable  ZIPOPT  can be used to change the default
 | |
|               options. For example under Unix with csh:
 | |
| 
 | |
|                      setenv ZIPOPT "-n .gif:.zip"
 | |
| 
 | |
|               To attempt compression on all files, use:
 | |
| 
 | |
|                      zip -n : foo
 | |
| 
 | |
|               The maximum compression  option  -9  also  attempts
 | |
|               compression on all files regardless of extension.
 | |
| 
 | |
|        -o     Set  the "last modified" time of the zip archive to
 | |
|               the latest  (oldest)  "last  modified"  time  found
 | |
|               among  the entries in the zip archive.  This can be
 | |
|               used without any other operations, if desired.  For
 | |
|               example:
 | |
| 
 | |
|               zip -o foo
 | |
| 
 | |
|               will  change  the  last modified time of foo.zip to
 | |
|               the latest time of the entries in foo.zip.
 | |
| 
 | |
|        -q     Quiet mode; eliminate  informational  messages  and
 | |
|               comment  prompts.   (Useful,  for example, in shell
 | |
|               scripts and background tasks).
 | |
| 
 | |
|        -r     Travel the  directory  structure  recursively;  for
 | |
|               example:
 | |
| 
 | |
|                      zip -r foo foo
 | |
| 
 | |
|               In  this case, all the files and directories in foo
 | |
|               are saved in a zip archive named foo.zip, including
 | |
|               files  with  names  starting  with  ".",  since the
 | |
|               recursion does not use the shell's  file-name  sub-
 | |
|               stitution mechanism.  If you wish to include only a
 | |
|               specific subset of the files in directory  foo  and
 | |
|               its  subdirectories,  use  the -i option to specify
 | |
|               the pattern of files to be  included.   You  should
 | |
|               not  use  -r with the name ".*", since that matches
 | |
|               ".."  which will  attempt  to  zip  up  the  parent
 | |
|               directory (probably not what was intended).
 | |
| 
 | |
|        -S     Include  system  and  hidden  files. This option is
 | |
|               effective on some systems only; it  is  ignored  on
 | |
|               Unix.
 | |
| 
 | |
|        -t mmddyy
 | |
|               Do not operate on files modified prior to the spec-
 | |
|               ified date, where mm is the month (0-12), dd is the
 | |
|               day  of  the  month (1-31), and yy are the last two
 | |
|               digits of the year.  For example:
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          7
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|                      zip -rt 120791 infamy foo
 | |
| 
 | |
|               will add all the files in foo and  its  subdirecto-
 | |
|               ries that were last modified on or after 7 December
 | |
|               1991, to the zip archive infamy.zip.
 | |
| 
 | |
|        -T     Test the integrity of the  new  zip  file.  If  the
 | |
|               check  fails,  the  old  zip  file is unchanged and
 | |
|               (with the -m option) not input files are removed.
 | |
| 
 | |
|        -u     Replace (update)  an  existing  entry  in  the  zip
 | |
|               archive  only if it has been modified more recently
 | |
|               than the version already in the zip  archive.   For
 | |
|               example:
 | |
| 
 | |
|                      zip -u stuff *
 | |
| 
 | |
|               will  add  any  new files in the current directory,
 | |
|               and update any files which have been modified since
 | |
|               the zip archive stuff.zip was last created/modified
 | |
|               (note that zip will not try to pack stuff.zip  into
 | |
|               itself when you do this).
 | |
| 
 | |
|               Note that the -u option with no arguments acts like
 | |
|               the -f (freshen) option.
 | |
| 
 | |
|        -v     Verbose mode or print diagnostic version info.
 | |
| 
 | |
|               Normally, when applied  to  real  operations,  this
 | |
|               option  enables the display of a progress indicator
 | |
|               during compression and requests verbose  diagnostic
 | |
|               info about zipfile structure oddities.
 | |
| 
 | |
|               When -v is the only command line argument, and std-
 | |
|               out is not  redirected  to  a  file,  a  diagnostic
 | |
|               screen  is  printed. In addition to the help screen
 | |
|               header with  program  name,  version,  and  release
 | |
|               date,  some  pointers to the Info-ZIP home and dis-
 | |
|               tribution sites are given. Then, it shows  informa-
 | |
|               tion  about  the  target environment (compiler type
 | |
|               and version, OS version, compilation date  and  the
 | |
|               enabled  optional  features  used to create the zip
 | |
|               executable.
 | |
| 
 | |
|        -V     Save VMS file attributes. This option is  available
 | |
|               on  VMS only; zip archives created with this option
 | |
|               will generally not be usable on other systems.
 | |
| 
 | |
|        -w     Append the version number of the files to the name,
 | |
|               including  multiple  versions of files.  (VMS only;
 | |
|               default: use only the  most  recent  version  of  a
 | |
|               specified file).
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          8
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        -x files
 | |
|               Explicitly exclude the specified files, as in:
 | |
| 
 | |
|                      zip -r foo foo -x \*.o
 | |
| 
 | |
|               which  will  include the contents of foo in foo.zip
 | |
|               while excluding all the files that end in .o.   The
 | |
|               backslash  avoids  the shell filename substitution,
 | |
|               so that the name matching is performed  by  zip  at
 | |
|               all directory levels.
 | |
| 
 | |
|        -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  compressing  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 VAX/VMS).  The comment
 | |
|               can be taken from a file:
 | |
| 
 | |
|                      zip -z foo < foowhat
 | |
| 
 | |
|        -#     Regulate  the speed of compression using the speci-
 | |
|               fied digit #, where  -0  indicates  no  compression
 | |
|               (store  all  files),  -1 indicates the fastest com-
 | |
|               pression method (less compression) and -9 indicates
 | |
|               the  slowest  compression  method (optimal compres-
 | |
|               sion, ignores the suffix list).  The  default  com-
 | |
|               pression level is -6.
 | |
| 
 | |
|        -@     Take  the  list of input files from standard input.
 | |
|               File names containing spaces must be  quoted  using
 | |
|               single quotes, as in 'file name'.
 | |
| 
 | |
|        -$     Include  the volume label for the the drive holding
 | |
|               the first file to be compressed.  If  you  want  to
 | |
|               include  only  the  volume label or to force a spe-
 | |
|               cific drive, use the drive name as first file name,
 | |
|               as in:
 | |
| 
 | |
|                      zip -$ foo a: c:bar
 | |
| 
 | |
|               This  option  is  effective  on  some  systems only
 | |
|               (MSDOS and OS/2); it is ignored on Unix.
 | |
| 
 | |
| EXAMPLES
 | |
|        The simplest example:
 | |
| 
 | |
|               zip stuff *
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                          9
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        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 suffixes).
 | |
| 
 | |
|        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 directory.
 | |
| 
 | |
|        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 corre-
 | |
|        sponding 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.  Watch this  space  for
 | |
|        details on MSDOS and VMS operation.
 | |
| 
 | |
|        The  UNIX  shells (sh(1) and csh(1)) do filename substitu-
 | |
|        tion on command arguments.  The special characters are:
 | |
| 
 | |
|        ?      match any single character
 | |
| 
 | |
|        *      match any number of characters (including none)
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                         10
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        []     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 pat-
 | |
|        tern, 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  char-
 | |
|        acters  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 argu-
 | |
|        ment 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).
 | |
| 
 | |
| SEE ALSO
 | |
|        compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)
 | |
| 
 | |
| BUGS
 | |
|        zip  2.1  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.1 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
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                         11
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
|        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 transfer
 | |
|        zip files from Vax to MSDOS, type "set file type block" on
 | |
|        the  Vax.   When  transfering 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 DEC-
 | |
|        net syntax foo::*.*.
 | |
| 
 | |
|        On OS/2, zip  cannot  match  some  names,  such  as  those
 | |
|        including  an  exclamation 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 DosQueryPathInfo(). 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. Therefore the value reported by
 | |
|        zip  (which  uses this 32-bit-mode size) differs from that
 | |
|        reported by DIR.  zip stores the 32-bit format for  porta-
 | |
|        bility,  even  the 16-bit MS-C-compiled version running on
 | |
|        OS/2 1.3, so even this one shows the 32-bit-mode size.
 | |
| 
 | |
|        On the Amiga, the -A option currently does not work.
 | |
| 
 | |
| AUTHORS
 | |
|        Copyright (C) 1990-1996  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 origi-
 | |
|        nal  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  by  email   to:
 | |
|        zip-bugs@wkuvx1.wku.edu.   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.
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                         12
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| ZIP(1L)                                                   ZIP(1L)
 | |
| 
 | |
| 
 | |
| 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 format, and .ZIP filename
 | |
|        extension, and for accepting minor  changes  to  the  file
 | |
|        format;  to  Steve  Burg for clarifications on the deflate
 | |
|        format; to Haruhiko Okumura and Leonid Broukhis  for  pro-
 | |
|        viding 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  possible.  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.
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
|                            13 Apr 1996                         13
 | |
| 
 | |
| 
 |