Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cpio(1) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ar(1)

cat(1)

echo(1)

find(1)

ls(1)

tar(1)

archives(4)



CPIO(1-SVR4)        RISC/os Reference Manual         CPIO(1-SVR4)



NAME
     cpio - copy file archives in and out

SYNOPSIS
     cpio -i[bBcdfkmrsStuvV6] [-C bufsize] [-E file] [-H hdr] [-I
     file [-M message]]      [-R ID]] [pattern ...]

     cpio -o[aABcLvV] [-C bufsize] [-H hdr] [-O file [-M mes-
     sage]]

     cpio -p[adlLmuvV] [-R ID]] directory

DESCRIPTION
     The -i, -o, and -p options select the action to be per-
     formed.  The following list describes each of the actions
     (which are mutually exclusive).

     cpio -i (copy in) extracts files from the standard input,
     which is assumed to be the product of a previous cpio -o.
     Only files with names that match patterns are selected.
     patterns are regular expressions given in the filename-
     generating notation of sh(1).  In patterns, meta-characters
     ?, *, and [...]  match the slash (/) character, and
     backslash (\) is an escape character.  A ! meta-character
     means not.  (For example, the !abc* pattern would exclude
     all files that begin with abc.)  Multiple patterns may be
     specified and if no patterns are specified, the default for
     patterns is * (i.e., select all files).  Each pattern must
     be enclosed in double quotes; otherwise, the name of a file
     in the current directory might be used.  Extracted files are
     conditionally created and copied into the current directory
     tree based on the options described below.  The permissions
     of the files will be those of the previous cpio -o.  Owner
     and group permissions will be the same as the current user
     unless the current user is super-user.  If this is true,
     owner and group permissions will be the same as those
     resulting from the previous cpio -o.  NOTE: If cpio -i tries
     to create a file that already exists and the existing file
     is the same age or younger (newer), cpio will output a warn-
     ing message and not replace the file.  (The -u option can be
     used to overwrite, unconditionally, the existing file.)

     cpio -o (copy out) reads the standard input to obtain a list
     of path names and copies those files onto the standard out-
     put together with path name and status information.  Output
     is padded to a 512-byte boundary by default or to the user
     specified block size (with the -B or -C options) or to some
     device-dependent block size where necessary (as with the CTC
     tape).

     cpio -p (pass) reads the standard input to obtain a list of
     path names of files that are conditionally created and



                        Printed 11/19/92                   Page 1





CPIO(1-SVR4)        RISC/os Reference Manual         CPIO(1-SVR4)



     copied into the destination directory tree based on the
     options described below.

     The meanings of the available options are

     -a   Reset access times of input files after they have been
          copied.  Access times are not reset for linked files
          when cpio -pla is specified (mutually exclusive with
          -m).

     -A   Append files to an archive.  The -A option requires the
          -O option.  Valid only with archives that are files, or
          that are on floppy diskettes or hard disk partitions.

     -b   Reverse the order of the bytes within each word.  (Use
          only with the -i option.)

     -B   Input/output is to be blocked 5,120 bytes to the
          record.  The default buffer size is 512 bytes when this
          and the -C options are not used.  (-B does not apply to
          the pass option; -B is meaningful only with data
          directed to or from a character special device, e.g.
          /dev/rmt/0m.)

     -c   Read or write header information in ASCII character
          form for portability.  Always use this option (or the
          -H  option) when the origin and the destination
          machines are different types (mutually exclusive with
          -H and -6).  (The -c option implies expanded device
          numbers.)

     -C bufsize
          Input/output is to be blocked bufsize bytes to the
          record, where bufsize is replaced by a positive
          integer.  The default buffer size is 512 bytes when
          this and -B options are not used.  For floppy disks,
          bufsize must be a multiple of 512 (one floppy sector).
          (-C does not apply to the -p (pass) option option; -C
          is meaningful only with data directed to or from a
          character special device, e.g. /dev/rmt/0m.)

     -d   Directories are to be created as needed.

     -E file
          Specify an input file (file) that contains a list of
          filenames to be extracted from the archive (one
          filename per line).

     -f   Copy in all files except those in patterns. (See the
          paragraph on cpio -i for a description of patterns.)

     -H hdr



 Page 2                 Printed 11/19/92





CPIO(1-SVR4)        RISC/os Reference Manual         CPIO(1-SVR4)



          Read or write header information in hdr format.  Always
          use this option or the -c option when the origin and
          the destination machines are different types (mutually
          exclusive with -c and -6).  Valid values for hdr are:

          crc or CRC      ASCII header with expanded device
                          numbers and an additional per-file
                          checksum

          ustar or USTAR  IEEE/P1003 Data Interchange Standard
                          header and format

          tar or TAR      tar header and format

          odc             ASCII header with small device numbers

     -I file
          Read the contents of file as an input archive.  If file
          is a character special device, and the current medium
          has been completely read, replace the medium and press
          RETURN to continue to the next medium.  This option is
          used only with the -i option.

     -k   Attempt to skip corrupted file headers and I/O errors
          that may be encountered.  If you want to copy files
          from a medium that is corrupted or out of sequence,
          this option lets you read only those files with good
          headers.  (For cpio archives that contain other cpio
          archives, if an error is encountered cpio may terminate
          prematurely.  cpio will find the next good header,
          which may be one for a smaller archive, and terminate
          when the smaller archive's trailer is encountered.)
          Used only with the -i option.

     -l   Whenever possible, link files rather than copying them.
          (Usable only with the -p option.)

     -L   Follow symbolic links. The default is not to follow
          symbolic links.

     -m   Retain previous file modification time.  This option is
          ineffective on directories that are being copied (mutu-
          ally exclusive with -a).

     -M message
          Define a message to use when switching media.  When you
          use the -O or -I options and specify a character spe-
          cial device, you can use this option to define the mes-
          sage that is printed when you reach the end of the
          medium.  One %d can be placed in message to print the
          sequence number of the next medium needed to continue.




                        Printed 11/19/92                   Page 3





CPIO(1-SVR4)        RISC/os Reference Manual         CPIO(1-SVR4)



     -O file
          Direct the output of cpio to file.  If file is a char-
          acter special device and the current medium is full,
          replace the medium and type a carriage return to con-
          tinue to the next medium.  Use only with the -o option.

     -r   Interactively rename files.  If the user types a car-
          riage return alone, the file is skipped.  If the user
          types a ``.'' the original pathname will be retained.
          (Not available with cpio -p.)

     -R ID
          Reassign ownership and group information for each file
          to user ID (ID must be a valid login ID from
          /etc/passwd).  This option is valid only for the
          super-user.

     -s   Swap bytes within each half word.

     -S   Swap halfwords within each word.

     -t   Print a table of contents of the input.  No files are
          created (mutually exclusive with -V).

     -u   Copy unconditionally (normally, an older file will not
          replace a newer file with the same name).

     -v   Verbose: causes a list of file names to be printed.
          When used with the -t option, the table of contents
          looks like the output of an ls -l command [see ls(1)].

     -V   Special Verbose:  print a dot for each file read or
          written.  Useful to assure the user that cpio is work-
          ing without printing out all file names.

     -6   Process a UNIX System Sixth Edition archive format
          file.  Use only with the -i option (mutually exclusive
          with -c and -H)).

     NOTE: cpio assumes four-byte words.

     If, when writing to a character device (-o) or reading from
     a character device (-i), cpio reaches the end of a medium
     (such as the end of a diskette), and the -O and -I options
     aren't used, cpio will print the following message:

          If you want to go on, type device/file name when ready.

     To continue, you must replace the medium and type the char-
     acter special device name (/dev/rdsk/f0 for example) and
     press RETURN.  You may want to continue by directing cpio to
     use a different device.  For example, if you have two floppy



 Page 4                 Printed 11/19/92





CPIO(1-SVR4)        RISC/os Reference Manual         CPIO(1-SVR4)



     drives you may want to switch between them so cpio can
     proceed while you are changing the floppies.  (Simply press-
     ing RETURN causes the cpio process to exit.)

EXAMPLES
     The following examples show three uses of cpio.

     When standard input is directed through a pipe to cpio -o,
     it groups the files so they can be directed (>) to a single
     file (../newfile).  The -c option insures that the file will
     be portable to other machines (as would the -H option).
     Instead of ls(1), you could use find(1), echo(1), cat(1),
     and so on, to pipe a list of names to cpio.  You could
     direct the output to a device instead of a file.

          ls | cpio -oc > ../newfile

     cpio -i uses the output file of cpio -o (directed through a
     pipe with cat in the example below), extracts those files
     that match the patterns (memo/a1, memo/b*), creates direc-
     tories below the current directory as needed (-d option),
     and places the files in the appropriate directories.  The -c
     option is used if the input file was created with a portable
     header.  If no patterns were given, all files from newfile
     would be placed in the directory.

          cat newfile | cpio -icd "memo/a1" "memo/b*"

     cpio -p takes the file names piped to it and copies or links
     (-l option) those files to another directory (newdir in the
     example below).  The -d option says to create directories as
     needed.  The -m option says retain the modification time.
     (It is important to use the -depth option of find(1) to gen-
     erate path names for cpio.  This eliminates problems cpio
     could have trying to create files under read-only direc-
     tories.)  The destination directory, newdir, must exist.

          find . -depth -print | cpio -pdlmv newdir

     Note that when you use cpio in conjunction with find, if you
     use the -L option with cpio then you must use the -follow
     option with find and vice versa.  Otherwise there will be
     undesirable results.

SEE ALSO
     ar(1), cat(1), echo(1), find(1), ls(1), tar(1).
     archives(4) in the System Administrator's Reference Manual.

NOTES
     An archive created with the -c option on a System V Release
     4.0 system cannot be read on System V Release 3.2 systems,
     or earlier.  Use the -H odc option, which is equivalent to



                        Printed 11/19/92                   Page 5





CPIO(1-SVR4)        RISC/os Reference Manual         CPIO(1-SVR4)



     the header created by the -c option in earlier System V
     Releases, if the cpio image will be read by a pre-System V
     Release 4.0 version of cpio.

     System V Releases prior to Release 4.0 do not understand
     symbolic links.  The result of copying in a symbolic link on
     an older release will be a regular file that contains the
     pathname of the referenced file.

     Path names are restricted to 256 characters for the binary
     (the default) and
     -H odc header formats.  Otherwise, path names are restricted
     to 1024 characters.

     Only the super-user can copy special files.

     Blocks are reported in 512-byte quantities.

     If a file has 000 permissions, contains more than 0 charac-
     ters of data, and the user is not root, the file will not be
     saved or restored.


































 Page 6                 Printed 11/19/92



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026