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