Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cpio(1) — NEWS-os 5.0.1

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)                  USER COMMANDS                    cpio(1)



NAME
     cpio - copy file archives in and out

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

     cpio -o[aABcLvV] [-C size] [-H hdr] [-O file [-M message]]

     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
     copied into the destination  directory  tree  based  on  the



                                                                1





cpio(1)                  USER COMMANDS                    cpio(1)



     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.  (-C does not apply
          to the pass 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
          Read or write header information in hdr format.  Always
          use  this  option  or the -c option when the origin and



                                                                2





cpio(1)                  USER COMMANDS                    cpio(1)



          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.

     -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



                                                                3





cpio(1)                  USER COMMANDS                    cpio(1)



          carriage  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/rdiskette 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
     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.




                                                                4





cpio(1)                  USER COMMANDS                    cpio(1)



     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 Release 4.0  sys-
     tem  cannot be read on System V Release 3.2 systems, or ear-
     lier.  The -H odc header in Release 4.0 is equivalent to the
     -c header in earlier System V Releases.

     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.




                                                                5





cpio(1)                  USER COMMANDS                    cpio(1)



     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.











































                                                                6



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