Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



UNZIPSFX(1L)                                                                                    UNZIPSFX(1L)



NAME
       unzipsfx - self-extracting stub for prepending to ZIP archives

SYNOPSIS
       <name of unzipsfx+archive combo> [-cfptuz[ajnoqsCLV$]] [file(s) ... [-x xfile(s) ...]]

DESCRIPTION
       unzipsfx  is  a  modified  version  of unzip(1L) designed to be prepended to existing ZIP archives in
       order to form self-extracting archives.  Instead of taking its first non-flag argument to be the zip-file(s) zipfile(s)
       file(s)  to  be  extracted, unzipsfx seeks itself under the name by which it was invoked and tests or
       extracts the contents of the appended archive.  Because the executable stub adds bulk to the  archive
       (the  whole  purpose of which is to be as small as possible), a number of the less-vital capabilities
       in regular unzip have been removed.  Among these are the usage (or  help)  screen,  the  listing  and
       diagnostic  functions  (-l  and  -v),  the  ability  to  decompress  older  compression  formats (the
       ``reduce,'' ``shrink'' and ``implode'' methods).  The ability to extract to a  directory  other  than
       the  current  one  can  be  selected  as a compile-time option, which is now enabled by default since
       UnZipSFX version 5.5.  Similary, decryption is supported as  a  compile-time  option  but  should  be
       avoided unless the attached archive contains encrypted files. Starting with release 5.5, another com-pile-time compile-time
       pile-time option adds a simple ``run command after extraction'' feature.  This feature  is  currently
       incompatible with the ``extract to different directory'' feature and remains disabled by default.

       Note that self-extracting archives made with unzipsfx are no more (or less) portable across different
       operating systems than is the unzip executable itself.  In general a self-extracting archive made  on
       a particular Unix system, for example, will only self-extract under the same flavor of Unix.  Regular
       unzip may still be used to extract the embedded archive as with any normal zipfile, although it  will
       generate  a  harmless  warning about extra bytes at the beginning of the zipfile.  Despite this, how-ever, however,
       ever, the self-extracting archive is technically not a valid ZIP archive, and PKUNZIP may  be  unable
       to  test or extract it.  This limitation is due to the simplistic manner in which the archive is cre-ated; created;
       ated; the internal directory structure is not updated to reflect the extra  bytes  prepended  to  the
       original zipfile.

ARGUMENTS
       [file(s)]
              An  optional list of archive members to be processed.  Regular expressions (wildcards) similar
              to those in Unix egrep(1) may be used to match multiple members.  These wildcards may contain:

              *      matches a sequence of 0 or more characters

              ?      matches exactly 1 character

              [...]  matches  any  single  character  found  inside  the brackets; ranges are specified by a
                     beginning character, a hyphen, and an ending character.  If an exclamation point  or  a
                     caret  (`!'  or  `^') follows the left bracket, then the range of characters within the
                     brackets is complemented (that is, anything except the characters inside  the  brackets
                     is considered a match).

              (Be sure to quote any character that might otherwise be interpreted or modified by the operat-ing operating
              ing system, particularly under Unix and VMS.)

       [-x xfile(s)]
              An optional list of archive members to be excluded from processing.  Since wildcard characters
              match  directory  separators  (`/'),  this option may be used to exclude any files that are in
              subdirectories.  For example, ``foosfx *.[ch] -x */*'' would extract all C source files in the
              main  directory, but none in any subdirectories.  Without the -x option, all C source files in
              all directories within the zipfile would be extracted.

       If unzipsfx is compiled with SFX_EXDIR defined, the following option is also enabled:

       [-d exdir]
              An optional directory to which to extract files.  By default, all files and subdirectories are
              recreated  in the current directory; the -d option allows extraction in an arbitrary directory
              (always assuming one has permission to write to the directory).  The option and directory  may
              be  concatenated  without  any  white  space between them, but note that this may cause normal
              shell behavior to be suppressed.  In particular, ``-d ~'' (tilde) is expanded by Unix C shells
              into  the  name of the user's home directory, but ``-d~'' is treated as a literal subdirectory
              ``~'' of the current directory.

OPTIONS
       unzipsfx supports the following unzip(1L) options:  -c and -p (extract to standard output/screen), -f
       and  -u  (freshen and update existing files upon extraction), -t (test archive) and -z (print archive
       comment).  All normal listing options (-l, -v and -Z) have been removed, but the testing option  (-t)
       may  be used as a ``poor man's'' listing.  Alternatively, those creating self-extracting archives may
       wish to include a short listing in the zipfile comment.

       See unzip(1L) for a more complete description of these options.

MODIFIERS
       unzipsfx currently supports all unzip(1L) modifiers:  -a (convert text files), -n (never  overwrite),
       -o (overwrite without prompting), -q (operate quietly), -C (match names case-insensitively), -L (con-vert (convert
       vert uppercase-OS names to lowercase), -j (junk paths) and -V (retain version numbers); plus the fol-lowing following
       lowing operating-system specific options:  -X (restore VMS owner/protection info), -s (convert spaces
       in filenames to underscores [DOS, OS/2, NT]) and -$ (restore volume label [DOS, OS/2, NT, Amiga]).

       (Support for regular ASCII text-conversion may be removed in future  versions,  since  it  is  simple
       enough  for the archive's creator to ensure that text files have the appropriate format for the local
       OS.  EBCDIC conversion will of course continue to be supported since the zipfile format implies ASCII
       storage of text files.)

       See unzip(1L) for a more complete description of these modifiers.

ENVIRONMENT OPTIONS
       unzipsfx  uses  the  same  environment  variables as unzip(1L) does, although this is likely to be an
       issue only for the person creating and  testing  the  self-extracting  archive.   See  unzip(1L)  for
       details.

DECRYPTION
       Decryption is supported exactly as in unzip(1L); that is, interactively with a non-echoing prompt for
       the password(s).  See unzip(1L) for details.  Once again, note that if the archive has  no  encrypted
       files  there is no reason to use a version of unzipsfx with decryption support; that only adds to the
       size of the archive.

AUTORUN COMMAND
       When unzipsfx was compiled with CHEAP_SFX_AUTORUN defined, a simple ``command  autorun''  feature  is
       supported. You may enter a command into the Zip archive comment, using the following format:

           $AUTORUN$>[command line string]

       When  unzipsfxP  recognizes the ``$AUTORUN$>'' token at the beginning of the Zip archive comment, the
       remainder of the first line of the comment (until the first newline character) is passed as  a  shell
       command  to  the  operating system using the C rtl ``system'' function. Before executing the command,
       unzipsfxP displays the command on the console and prompts the user for confirmation.  When  the  user
       has switched off prompting by specifying the -q option, autorun commands are never executed.

       In  case  the  archive comment contains additonal lines of text, the remainder of the archive comment
       following the first line is displayed normally, unless quiet operation was requested by  supplying  a
       -q option.

EXAMPLES
       To create a self-extracting archive letters from a regular zipfile letters.zip and change the new ar-chive's archive's
       chive's permissions to be world-executable under Unix:

           cat unzipsfx letters.zip > letters
           chmod 755 letters
           zip -A letters

       To create the same archive under MS-DOS, OS/2 or NT (note the use of the /b [binary]  option  to  the
       copy command):

           copy /b unzipsfx.exe+letters.zip letters.exe
           zip -A letters.exe

       Under VMS:

           copy unzipsfx.exe,letters.zip letters.exe
           letters == "$currentdisk:[currentdir]letters.exe"
           zip -A letters.exe

       (The VMS append command may also be used.  The second command installs the new program as a ``foreign
       command'' capable of taking arguments.  The third line assumes that Zip is  already  installed  as  a
       foreign command.)  Under AmigaDOS:

           MakeSFX letters letters.zip UnZipSFX

       (MakeSFX  is  included with the UnZip source distribution and with Amiga binary distributions.  ``zip
       -A'' doesn't work on Amiga self-extracting archives.)  To test (or  list)  the  newly  created  self-extracting selfextracting
       extracting archive:

           letters -t

       To test letters quietly, printing only a summary message indicating whether the archive is OK or not:

           letters -tqq

       To extract the complete contents into the current directory, recreating all files and  subdirectories
       as necessary:

           letters

       To extract all *.txt files (in Unix quote the `*'):

           letters *.txt

       To extract everything except the *.txt files:

           letters -x *.txt

       To extract only the README file to standard output (the screen):

           letters -c README

       To print only the zipfile comment:

           letters -z

LIMITATIONS
       The  principle and fundamental limitation of unzipsfx is that it is not portable across architectures
       or operating systems, and therefore neither are the resulting archives.  For some architectures there
       is limited portability, however (e.g., between some flavors of Intel-based Unix).

       Another  problem  with  the current implementation is that any archive with ``junk'' prepended to the
       beginning technically is no longer a zipfile (unless zip(1) is used to  adjust  the  zipfile  offsets
       appropriately,  as  noted  above).  unzip(1) takes note of the prepended bytes and ignores them since
       some file-transfer protocols, notably MacBinary, are  also  known  to  prepend  junk.   But  PKWARE's
       archiver  suite  may  not  be  able  to  deal  with the modified archive unless its offsets have been
       adjusted.

       unzipsfx has no knowledge of the user's PATH, so in general an archive must either be in the  current
       directory  when  it is invoked, or else a full or relative path must be given.  If a user attempts to
       extract the archive from a directory in the PATH other than the current one, unzipsfx  will  print  a
       warning to the effect, ``can't find myself.''  This is always true under Unix and may be true in some
       cases under MS-DOS, depending on the compiler used (Microsoft C fully qualifies the program name, but
       other  compilers may not).  Under OS/2 and NT there are operating-system calls available that provide
       the full path name, so the archive may be invoked from anywhere in the user's path.  The situation is
       not known for AmigaDOS, Atari TOS, MacOS, etc.

       As  noted  above,  a  number  of  the  normal  unzip(1L) functions have been removed in order to make
       unzipsfx smaller:  usage and diagnostic info, listing functions and extraction to other  directories.
       Also,  only  stored  and  deflated  files are supported.  The latter limitation is mainly relevant to
       those who create SFX archives, however.

       VMS users must know how to set up self-extracting archives as foreign commands in order to use any of
       unzipsfx's  options.   This  is  not  necessary  for simple extraction, but the command to do so then
       becomes, e.g., ``run letters'' (to continue the examples given above).

       unzipsfx on the Amiga requires the use of a special program, MakeSFX,  in  order  to  create  working
       self-extracting  archives;  simple concatenation does not work.  (For technically oriented users, the
       attached archive is defined as a ``debug hunk.'')  There may be compatibility  problems  between  the
       ROM levels of older Amigas and newer ones.

       All current bugs in unzip(1L) exist in unzipsfx as well.

DIAGNOSTICS
       unzipsfx's  exit  status  (error  level) is identical to that of unzip(1L); see the corresponding man
       page.

SEE ALSO
       funzip(1L), unzip(1L), zip(1L), zipcloak(1L), zipgrep(1L), zipinfo(1L), zipnote(1L), zipsplit(1L)

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

AUTHORS
       Greg Roelofs was responsible for the basic modifications to UnZip necessary to create UnZipSFX.   See
       unzip(1L)  for the current list of Zip-Bugs authors, or the file CONTRIBS in the UnZip source distri-bution distribution
       bution for the full list of Info-ZIP contributors.



Info-ZIP                                  28 February 2005 (v5.52)                              UNZIPSFX(1L)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.