cpio - Copies files to and from archive storage.
cpio -o[aBcehvV] [-C value] [-M"string"] [-Odevice]
cpio -i[bBcdefmrsStuvz6] [-C value] [-M"string"] [-Idevice] [pattern...]
cpio -p[adlmruvV] directory
Interfaces documented on this reference page conform to industry standards
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
A hyphen (-) is required before the -i, -I, -o, -O, and -p options; all
other options follow -i, -o, or -p without leading spaces and without a
[Tru64 UNIX] The following two options are preceded by a hyphen and must
be used separately from the other options.
[Tru64 UNIX] Specifies the input device containing the archive. This
argument must be present to import data from a device.
[Tru64 UNIX] Specifies the output device to store the archive. This
argument must be present to export data to a device.
Not all of the following options can be used with each of the -o, -i, and
a Resets the access times of copied files to the current time. (When the
l option is also specified, the access times of the linked files are
b [Tru64 UNIX] Swaps both bytes and halfwords. (See also the s and S
options.) If there is an odd number of bytes or halfwords in the file
being processed, data can be lost. This option can only be used with
B Performs block input/output, 5120 bytes to a record. This option cannot
be used with cpio -p. It is meaningful only with data directed to or
from /dev/rmt/*. This option does not work with certain magnetic tape
drives. The C and B options are mutually exclusive. If you specify
both, the last one on the command line is used.
c Writes header information in ASCII character form. Specify this option
when POSIX compliance is required and when you are creating or
restoring archives for or from another system.
[Tru64 UNIX] Performs block input/output using value as the record
size. The C and B options are mutually exclusive. If you specify
both, the last one on the command line is used.
d Creates directories as needed.
e [Tru64 UNIX] Read or write cpio header information in extended cpio
header format. Use this option to read or write block special or char-
acter special files. Any cpio archives created with the e option of
Tru64 UNIX Version 4.0 are not backward compatible with earlier ver-
sions of Tru64 UNIX.
f Copies all files except those matching pattern (cpio -i only).
h [Tru64 UNIX] Forces cpio to follow symbolic links as if they were nor-
mal files or directories. The cpio command does not follow symbolic
links, but instead saves the link text in the archive.
l Links files rather than copying them, whenever possible. Hard links are
created rather than symbolic (soft) links. This option can be used only
with cpio -p.
m Retains the previous file modification time. This option cannot be
used when copying directories.
[Tru64 UNIX] Specifies the End-of-Media message. This option is used
to customize the message that appears when it is time to change archive
volumes. The -M option is valid only when -I or -O is also specified.
r Causes cpio to ask whether or not to rename each file before copying
it. If you do not want to change the file name, enter the current file
name. You can press <<Return>> only to have cpio skip copying the file.
s [Tru64 UNIX] Swaps bytes. This option can be used only with cpio -i.
If there is an odd number of bytes in the file being processed, data
can be lost.
S [Tru64 UNIX] Swaps halfwords. This option can be used only with cpio
-i. If there is an odd number of halfwords in the file being pro-
cessed, data can be lost.
t Creates a table of contents of the input. This option does not copy
u Copies unconditionally. Otherwise, a file from the archive with the
same name as an existing file in the file system is copied only if the
archived file is the newer one.
v Lists file names. If you use this option with the t option, the output
looks similar to that of the ls -l command.
V [Tru64 UNIX] Prevents any extended attributes from being archived with
associated files. This option is particularly useful for archiving
files that are to be restored with previous versions of tar and cpio.
z [Tru64 UNIX] Positions the tape after the EOF marker on extraction or
listing. The z option lets the user extract or list tapes that have
multiple archives on them one after the other without error as a result
of the tape not being positioned correctly for the next extraction or
6 [Tru64 UNIX] Processes an old file (one written in UNIX Sixth Edition
format). This option can be used only with cpio -i.
A pathname of an existing directory to be used as the target of cpio
Expressions making use of a pattern-matching notation similar to that
used by the shell for file name pattern matching, and similar to regu-
lar expressions. The following metacharacters are defined:
* Matches any string, including the empty string.
? Matches any single character.
Matches any one of the enclosed characters. A pair of characters
separated by `-' matches any symbol between the pair (inclusive),
as defined by the system default collating sequence.
In pattern, the special characters ?, *, and [ also match the / charac-
Multiple cases of pattern can be specified and if no pattern is speci-
fied, the default for pattern is * (that is, select all files).
The cpio command copies files between archive storage and the file system.
It is used to save and restore data from traditional format cpio archives.
There are three versions of the cpio command:
cpio -o (copy out)
This command reads file pathnames from standard input and copies these
files to standard output along with pathnames and status information. Out-
put is padded to a 512-byte boundary.
cpio -i (copy in)
This command reads from standard input an archive file created by the cpio
-o command and copies from it the files with names that match pattern.
These files are copied into the current directory tree. The file permis-
sions are the same as the permissions associated with the files copied out
using cpio -o but if umask is used it sets the permissions as per umask.
The owner and group of the files are those of the current user unless the
user is superuser, in which case cpio retains the owner and group of the
files of the previous cpio -o.
You can list more than one pattern using the file name notation described.
The default pattern is *, selecting all files in the archive. In an
expression such as [a-z], the hyphen means "through" according to the
current collating sequence. The collating sequence is determined by the
LC_COLLATE environment variable.
cpio -p (directory copy)
This command reads file pathnames from standard input and copies these
files into the named directory. The specified directory must already
exist. If these pathnames include directory names and if these directories
do not already exist, you must use the -d option to cause the directories
to be created.
[Tru64 UNIX] Special files are not supported. Pathnames cannot exceed 128
bytes. Avoid giving cpio pathnames made up of many uniquely linked files
because cpio might not have enough memory to keep track of them and could
lose linking information.
The cpio command is marked as LEGACY in XCU Issue 5.
[Tru64 UNIX] Archives created with extended attributes cannot be read by
Version 2.0 of the cpio command. The following describes the results of
restoring archived files and directories when you use Version 2.0 of the
+ [Tru64 UNIX] You cannot restore an archive directory with extended
attributes. The extended attributes are restored as a regular file
that cannot be overwritten; the original directory cannot be
recreated. In addition, the cpio command restores the archived files
containing extended attributes as regular files. When the cpio com-
mand restores the original file with the extended attributes, the com-
mand fails with errno:20.
+ [Tru64 UNIX] You cannot archive files with extended attributes.
+ [Tru64 UNIX] Archives created with the new pax utility and having
cpio format, can be restored using only the new pax or cpio commands
even if none of the archived files have extended attributes.
To achieve backward compatibility of archived files, use the following
+ Archive only files that do not have extended attributes.
+ Use the old cpio command at /usr/opt/obsolete/usr/bin/cpio.
Socket files are ignored while archiving through the cpio command.
[Tru64 UNIX] When redirecting the output from cpio to a special file (dev-
ice), redirect it to the raw device and not the block device. Because
writing to a block device is done asynchronously, there is no way to know
if the end of the device has been reached.
The following exit values are returned:
0 Successful completion.
>>0 An error occurred.
1. To copy files to magnetic tape, enter:
cpio -ov << file-list -O/dev/rmt12
This command copies the files with pathnames that are listed in the
file specification in a compact form to the magnetic tape
(/dev/rmt12). The -v option causes cpio to display the name of each
file as it is copied. This command is useful for making backup copies
2. To copy files in the current directory whose names end with .c onto
magnetic tape, enter:
ls *.c | cpio -ov -O/dev/rmt12
3. To copy the current directory and all subdirectories onto magnetic
find . -print | cpio -ov -O/dev/rmt12
This command saves the directory tree that starts with the current
directory (.) and includes all of its subdirectories and files.
Another way to do the same thing is by entering the following command:
find . -cpio /dev/rmt12 -print
The -print option displays the name of each file as it is copied.
4. To list the files that have been saved onto a magnetic tape with cpio,
cpio -itv -I/dev/rmt12
This command displays the table of contents of the data previously
saved onto /dev/rmt12 in cpio format. To list only the file path-
names, use only the -it options.
5. To copy the files previously saved with cpio from a magnetic tape,
cpio -idmv -I/dev/rmt12
This command copies the files previously saved onto /dev/rmt12 by cpio
back into the file system (specified by the -i option). The -d option
lets cpio create the appropriate directories if a directory tree was
saved. The -m option maintains the last modification time that was in
effect when the files were saved. The -v option causes cpio to
display the name of each file as it is copied.
6. To copy selected files from magnetic tape, enter:
cpio -i -I/dev/rmt12 "*.c" "*.o"
This command copies the files that end with .c or .o from magnetic
tape. The patterns *.c and *.o must be enclosed in double quotation
marks (" ") to prevent the shell from treating the * (asterisk) as a
pattern-matching character. In this special case, cpio itself decodes
the pattern-matching characters.
7. To rename files as they are copied from magnetic tape, enter:
cpio -ir -I/dev/rmt12
The -r option causes cpio to ask you whether or not to rename each
file before copying it from magnetic tape. For example, the following
message asks you whether you want to give the file saved as prog.c a
new name as it is being copied:
To rename the file, type the new name and press <<Return>>. To keep the
same name, you must enter the old name at the prompt. To avoid copy-
ing the file at all, press <<Return>> alone.
8. To copy a directory and all of its subdirectories, enter:
find . -print | cpio -pdl /u/jim/newdir
This command duplicates the current directory tree, including the
current directory and all of its subdirectories and files. The dupli-
cate is placed in the new /u/jim/newdir directory. The -l option
causes cpio to link files instead of copying them, when possible.
The following environment variables affect the execution of cpio:
Provides a default value for the internationalization variables that
are unset or null. If LANG is unset or null, the corresponding value
from the default locale is used. If any of the internationalization
variables contain an invalid setting, the utility behaves as if none of
the variables had been defined.
If set to a non-empty string value, overrides the values of all the
other internationalization variables.
Determines the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to multi-
byte characters in arguments and input files) and the behavior of char-
acter classes within bracketed file name patterns.
Determines the locale for the format and contents of diagnostic mes-
sages written to standard error.
Determines the format of date and time strings output when listing the
contents of an archive with the -v option.
Determines the location of message catalogues for the processing of
TZ Determines the time zone used with date and time strings.
Commands: ar(1), find(1), ls(1), ksh(1), pax(1), Bourne shell sh(1b),
POSIX shell sh(1p), tar(1)