cpio(1)cpio(1)Namecpio - copy file archives in and out
Syntaxcpio-i [ -C ] [keys] [patterns]
cpio-p [keys] directory
The command is a filter designed to let you copy files to or from an
archive. The command differs from the command in that lets you archive
any kind of file, while is limited to program object files.
This utility supports EOT handling which allows the use of multiple
media. The utility prompts for the next volume when it encounters the
end of the current volume.
This utility supports the TA90 style sequential stacker loader device.
The device ejects a cartridge when it is taken off line. This utility
performs the device ejection on behalf of the user when it encounters a
multivolume boundary during write or read operations involving tape.
The device then automatically loads the next available tape (if there
is one). The utility then attempts to access this next tape for a rea‐
sonable amount of time (approximately three minutes) before prompting
the user for a manual reload operation.
Options-L Permits the program to treat the tape drive as a sequential loader
device even though it is not represented as such in the system
-M Read the final tape mark at the end of the tapeset. This option allows
convenient positioning for a subsequent command on the no-rewind device.
-i Copies files that match the specified pattern. If the pattern is not
specified, copies in all files. Extracts files from the standard input,
which is assumed to be the product of a previous cpio-o, and places them
into the user's current directory tree. For files with the same name,
the newer file replaces the older file unless the -u option is used.
Only files with names that match patterns are selected. The patterns are
specified using the notation for names described in In patterns, the
slash for directories (/) is included in searches using meta-characters.
For example, suppose the archive contains the file and the pathname
information in the archive indicates that the directory below contains
the file This command copies both files into the user's current direc‐
cpio-i *p < /dev/rmt0l
Multiple patterns may be specified and if no patterns are specified, the
default for patterns is ∗ (that is, select all files). The extracted
files are conditionally created and copied into the current directory
tree based upon the options described below. The command has three func‐
tion keys, each with its own set of options.
-C Specifies compatibility mode for reading archives created with the old
style header format. Use this option to copy in archives generated by
pre-V4.2 This option is valid only for copy-in (-i) operations.
-o Copies out the specified files. Reads the standard input to obtain a
list of path names and copies those files onto the standard output
together with path name and status information.
-p Copies files into the specified destination directory, which must already
exist. Reads the standard input to obtain a list of path names of files
that are conditionally created. This list of files is copied into the
destination directory tree based upon the options used. For files with
the same name, the newer file replaces the older file unless the -u
option is used.
6 Processes a file with the UNIX System Sixth Edition format.
a Retains original access times of input files, and can be used with
-o and -p. Normally, the read(s) used in the copy update the
copied file's access time.
B Determines input/output is to be blocked 5,120 bytes to the
record. This option is meaningful only with data directed to or
b Swaps both bytes and halfwords.
c Creates header information in ASCII format and can be used with -i
d Creates subdirectories, as needed, below the specified destination
f Copies all files except those that match the specified pattern.
k Enables symbolic link handling and is used with the -i, -o, and -p
l Creates links wherever possible.
m Retains modification time for each copied file. This option does
not work on directories or symbolic links that are being copied;
the directory is always reset to show the access time when the
copy was made.
r Interactively renames files. If you respond with a null line, the
file is skipped (not copied). Use only with the -i option.
s Swaps bytes while copying files in.
S Swaps half words while copying files in.
t Prints a table of contents of the input (no files are created).
u Copies files unconditionally. (Otherwise, an older file will not
replace a newer file with the same name).
v Displays detailed (verbose) information as it copies and/or cre‐
ates file. When used with the t option, the table of contents
looks like the output of an ls -l command. For further informa‐
This example shows how to copy the contents of the user's current
directory into an archive.
ls | cpio-o > /dev/rmt0l
This example shows how to duplicate a directory hierarchy.
find . -print | cpio-pdl ~phares/newdir
This example shows how to copy all files and directories with names
containing the characters "chapter" in user smith's home directory and
find ~smith -name '*chapter*' -print | cpio-o > /dev/rmt0h
This example shows the results of using the r option with the -i func‐
ls | cpio-ir > ~smith/newdir
In some cases, the -cpio option of the command can be used more effec‐
tively than pipes and redirects using For instance, the following exam‐
find . -print | cpio-oB > /dev/rmt0l
can be handled more efficiently by:
find . -cpio /dev/rmt0l
To copy the contents of a directory (with symbolic link handling
enabled) to the tape drive, type:
ls | cpio-ok > /dev/rmt0h
To restore the archived files back into a directory, type:
cpio-ik < /dev/rmt0h
The following example moves files, including symbolic links, from an
old directory to a new directory:
ls | cpio-pdk ~craig/newdir
Pathnames are restricted to 128 characters.
When there are too many unique linked files, the program runs out of
memory and cannot trace them. In this case, linking information is
Only the superuser can copy special files.
The architecture handles files as large as 8.5 Gbytes. However, the
ULTRIX utility cannot restore to disk archived files larger than the
current ULTRIX limit of 2.1 Gbytes.
See Alsoar(1), find(1), cpio(5)cpio(1)