Blame doc/html/bsdcpio.1.html

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348
"http://www.w3.org/TR/html4/loose.dtd">
Packit Service 1d0348
<html>
Packit Service 1d0348
<head>
Packit Service 1d0348
<meta name="generator" content="groff -Thtml, see www.gnu.org">
Packit Service 1d0348
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
Packit Service 1d0348
<meta name="Content-Style" content="text/css">
Packit Service 1d0348
<style type="text/css">
Packit Service 1d0348
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
Packit Service 1d0348
       h1      { text-align: center }
Packit Service 1d0348
</style>
Packit Service 1d0348
<title></title>
Packit Service 1d0348
</head>
Packit Service 1d0348
<body>
Packit Service 1d0348
Packit Service 1d0348

Packit Service 1d0348
Packit Service 1d0348
Packit Service 1d0348

CPIO(1) BSD General Commands Manual CPIO(1)

Packit Service 1d0348
Packit Service 1d0348

NAME

Packit Service 1d0348
Packit Service 1d0348

cpio — copy files

Packit Service 1d0348
to and from archives

Packit Service 1d0348
Packit Service 1d0348

SYNOPSIS

Packit Service 1d0348
Packit Service 1d0348

cpio -i [options]

Packit Service 1d0348
[pattern ...] [< archive] 
Packit Service 1d0348
cpio -o [options] < name-list
Packit Service 1d0348
[> archive] 
Packit Service 1d0348
cpio -p [options] dest-dir <
Packit Service 1d0348
name-list

Packit Service 1d0348
Packit Service 1d0348

DESCRIPTION

Packit Service 1d0348
Packit Service 1d0348

cpio copies files between

Packit Service 1d0348
archives and directories. This implementation can extract
Packit Service 1d0348
from tar, pax, cpio, zip, jar, ar, and ISO 9660 cdrom images
Packit Service 1d0348
and can create tar, pax, cpio, ar, and shar archives.

Packit Service 1d0348
Packit Service 1d0348

The first option

Packit Service 1d0348
to cpio is a mode indicator from the following
Packit Service 1d0348
list:

Packit Service 1d0348
Packit Service 1d0348

-i

Packit Service 1d0348
Packit Service 1d0348

Input. Read an

Packit Service 1d0348
archive from standard input (unless overridden) and extract
Packit Service 1d0348
the contents to disk or (if the -t option is
Packit Service 1d0348
specified) list the contents to standard output. If one or
Packit Service 1d0348
more file patterns are specified, only files matching one of
Packit Service 1d0348
the patterns will be extracted.

Packit Service 1d0348
Packit Service 1d0348

-o

Packit Service 1d0348
Packit Service 1d0348

Output. Read a

Packit Service 1d0348
list of filenames from standard input and produce a new
Packit Service 1d0348
archive on standard output (unless overridden) containing
Packit Service 1d0348
the specified items.

Packit Service 1d0348
Packit Service 1d0348

-p

Packit Service 1d0348
Packit Service 1d0348

Pass-through.

Packit Service 1d0348
Read a list of filenames from standard input and copy the
Packit Service 1d0348
files to the specified directory.

Packit Service 1d0348
Packit Service 1d0348

OPTIONS

Packit Service 1d0348
Packit Service 1d0348

Unless specifically stated

Packit Service 1d0348
otherwise, options are applicable in all operating
Packit Service 1d0348
modes.

Packit Service 1d0348
Packit Service 1d0348

-0, --null

Packit Service 1d0348
Packit Service 1d0348

Read filenames separated by NUL

Packit Service 1d0348
characters instead of newlines. This is necessary if any of
Packit Service 1d0348
the filenames being read might contain newlines.

Packit Service 1d0348
Packit Service 1d0348

-A

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Append to the specified archive. (Not yet implemented.)

Packit Service 1d0348
Packit Service 1d0348

-a

Packit Service 1d0348
Packit Service 1d0348

(o and p modes)

Packit Service 1d0348
Reset access times on files after they are read.

Packit Service 1d0348
Packit Service 1d0348

-B

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Block output to records of 5120 bytes.

Packit Service 1d0348
Packit Service 1d0348

-C size

Packit Service 1d0348
Packit Service 1d0348

(o mode only) Block output to

Packit Service 1d0348
records of size bytes.

Packit Service 1d0348
Packit Service 1d0348

-c

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Use the old POSIX portable character format. Equivalent to
Packit Service 1d0348
--format odc.

Packit Service 1d0348
Packit Service 1d0348

-d,

Packit Service 1d0348
--make-directories

Packit Service 1d0348
Packit Service 1d0348

(i and p modes) Create

Packit Service 1d0348
directories as necessary.

Packit Service 1d0348
Packit Service 1d0348

-E file

Packit Service 1d0348
Packit Service 1d0348

(i mode only) Read list of file

Packit Service 1d0348
name patterns from file to list and extract.

Packit Service 1d0348
Packit Service 1d0348

-F file,

Packit Service 1d0348
--file file

Packit Service 1d0348
Packit Service 1d0348

Read archive from or write

Packit Service 1d0348
archive to file.

Packit Service 1d0348
Packit Service 1d0348

-f pattern

Packit Service 1d0348
Packit Service 1d0348

(i mode only) Ignore files that

Packit Service 1d0348
match pattern.

Packit Service 1d0348
Packit Service 1d0348

-H format,

Packit Service 1d0348
--format format

Packit Service 1d0348
Packit Service 1d0348

(o mode only) Produce the

Packit Service 1d0348
output archive in the specified format. Supported formats
Packit Service 1d0348
include:

Packit Service 1d0348
Packit Service 1d0348

cpio

Packit Service 1d0348
Packit Service 1d0348

Synonym for

Packit Service 1d0348
odc.

Packit Service 1d0348
Packit Service 1d0348

newc

Packit Service 1d0348
Packit Service 1d0348

The SVR4

Packit Service 1d0348
portable cpio format.

Packit Service 1d0348
Packit Service 1d0348

odc

Packit Service 1d0348
Packit Service 1d0348

The old POSIX.1

Packit Service 1d0348
portable octet-oriented cpio format.

Packit Service 1d0348
Packit Service 1d0348

pax

Packit Service 1d0348
Packit Service 1d0348

The POSIX.1 pax

Packit Service 1d0348
format, an extension of the ustar format.

Packit Service 1d0348
Packit Service 1d0348

ustar

Packit Service 1d0348
Packit Service 1d0348

The POSIX.1 tar

Packit Service 1d0348
format.

Packit Service 1d0348
Packit Service 1d0348

The default

Packit Service 1d0348
format is odc. See libarchive-formats(5) for more
Packit Service 1d0348
complete information about the formats currently supported
Packit Service 1d0348
by the underlying libarchive(3) library.

Packit Service 1d0348
Packit Service 1d0348

-h, --help

Packit Service 1d0348
Packit Service 1d0348

Print usage information.

Packit Service 1d0348
Packit Service 1d0348

-I file

Packit Service 1d0348
Packit Service 1d0348

Read archive from

Packit Service 1d0348
file.

Packit Service 1d0348
Packit Service 1d0348

-i, --extract

Packit Service 1d0348
Packit Service 1d0348

Input mode. See above for

Packit Service 1d0348
description.

Packit Service 1d0348
Packit Service 1d0348

--insecure

Packit Service 1d0348
Packit Service 1d0348

(i and p mode only) Disable

Packit Service 1d0348
security checks during extraction or copying. This allows
Packit Service 1d0348
extraction via symbolic links, absolute paths, and path
Packit Service 1d0348
names containing ’..’ in the name.

Packit Service 1d0348
Packit Service 1d0348

-J, --xz

Packit Service 1d0348
Packit Service 1d0348

(o mode only) Compress the file

Packit Service 1d0348
with xz-compatible compression before writing it. In input
Packit Service 1d0348
mode, this option is ignored; xz compression is recognized
Packit Service 1d0348
automatically on input.

Packit Service 1d0348
Packit Service 1d0348

-j

Packit Service 1d0348
Packit Service 1d0348

Synonym for

Packit Service 1d0348
-y.

Packit Service 1d0348
Packit Service 1d0348

-L

Packit Service 1d0348
Packit Service 1d0348

(o and p modes)

Packit Service 1d0348
All symbolic links will be followed. Normally, symbolic
Packit Service 1d0348
links are archived and copied as symbolic links. With this
Packit Service 1d0348
option, the target of the link will be archived or copied
Packit Service 1d0348
instead.

Packit Service 1d0348
Packit Service 1d0348

-l, --link

Packit Service 1d0348
Packit Service 1d0348

(p mode only) Create links from

Packit Service 1d0348
the target directory to the original files, instead of
Packit Service 1d0348
copying.

Packit Service 1d0348
Packit Service 1d0348

--lrzip

Packit Service 1d0348
Packit Service 1d0348

(o mode only) Compress the

Packit Service 1d0348
resulting archive with lrzip(1). In input mode, this option
Packit Service 1d0348
is ignored.

Packit Service 1d0348
Packit Service 1d0348

--lz4

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the archive with lz4-compatible compression before
Packit Service 1d0348
writing it. In input mode, this option is ignored; lz4
Packit Service 1d0348
compression is recognized automatically on input.

Packit Service 1d0348
Packit Service 1d0348

--zstd

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the archive with zstd-compatible compression before
Packit Service 1d0348
writing it. In input mode, this option is ignored; zstd
Packit Service 1d0348
compression is recognized automatically on input.

Packit Service 1d0348
Packit Service 1d0348

--lzma

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the file with lzma-compatible compression before
Packit Service 1d0348
writing it. In input mode, this option is ignored; lzma
Packit Service 1d0348
compression is recognized automatically on input.

Packit Service 1d0348
Packit Service 1d0348

--lzop

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the resulting archive with lzop(1). In input mode,
Packit Service 1d0348
this option is ignored.

Packit Service 1d0348
Packit Service 1d0348

--passphrase

Packit Service 1d0348
passphrase

Packit Service 1d0348
Packit Service 1d0348

The passphrase is used

Packit Service 1d0348
to extract or create an encrypted archive. Currently, zip is
Packit Service 1d0348
only a format that cpio can handle encrypted
Packit Service 1d0348
archives. You shouldn’t use this option unless you
Packit Service 1d0348
realize how insecure use of this option is.

Packit Service 1d0348
Packit Service 1d0348

-m,

Packit Service 1d0348
--preserve-modification-time

Packit Service 1d0348
Packit Service 1d0348

(i and p modes) Set file

Packit Service 1d0348
modification time on created files to match those in the
Packit Service 1d0348
source.

Packit Service 1d0348
Packit Service 1d0348

-n,

Packit Service 1d0348
--numeric-uid-gid

Packit Service 1d0348
Packit Service 1d0348

(i mode, only with -t)

Packit Service 1d0348
Display numeric uid and gid. By default, cpio
Packit Service 1d0348
displays the user and group names when they are provided in
Packit Service 1d0348
the archive, or looks up the user and group names in the
Packit Service 1d0348
system password database.

Packit Service 1d0348
Packit Service 1d0348

--no-preserve-owner

Packit Service 1d0348
Packit Service 1d0348

(i mode only) Do not attempt to

Packit Service 1d0348
restore file ownership. This is the default when run by
Packit Service 1d0348
non-root users.

Packit Service 1d0348
Packit Service 1d0348

-O file

Packit Service 1d0348
Packit Service 1d0348

Write archive to

Packit Service 1d0348
file.

Packit Service 1d0348
Packit Service 1d0348

-o, --create

Packit Service 1d0348
Packit Service 1d0348

Output mode. See above for

Packit Service 1d0348
description.

Packit Service 1d0348
Packit Service 1d0348

-p,

Packit Service 1d0348
--pass-through

Packit Service 1d0348
Packit Service 1d0348

Pass-through mode. See above

Packit Service 1d0348
for description.

Packit Service 1d0348
Packit Service 1d0348

--preserve-owner

Packit Service 1d0348
Packit Service 1d0348

(i mode only) Restore file

Packit Service 1d0348
ownership. This is the default when run by the root
Packit Service 1d0348
user.

Packit Service 1d0348
Packit Service 1d0348

--quiet

Packit Service 1d0348
Packit Service 1d0348

Suppress unnecessary

Packit Service 1d0348
messages.

Packit Service 1d0348
Packit Service 1d0348

-R [

Packit Service 1d0348
user][ 
Packit Service 1d0348
:][ 
Packit Service 1d0348
group], --owner [ 
Packit Service 1d0348
user][ 
Packit Service 1d0348
:][ 
Packit Service 1d0348
group]

Packit Service 1d0348
Packit Service 1d0348

Set the owner and/or group on

Packit Service 1d0348
files in the output. If group is specified with no user (for
Packit Service 1d0348
example, -R :wheel) then the group will be set
Packit Service 1d0348
but not the user. If the user is specified with a trailing
Packit Service 1d0348
colon and no group (for example, -R root:)
Packit Service 1d0348
then the group will be set to the user’s default
Packit Service 1d0348
group. If the user is specified with no trailing colon, then
Packit Service 1d0348
the user will be set but not the group. In -i and
Packit Service 1d0348
-p modes, this option can only be used by the
Packit Service 1d0348
super-user. (For compatibility, a period can be used in
Packit Service 1d0348
place of the colon.)

Packit Service 1d0348
Packit Service 1d0348

-r

Packit Service 1d0348
Packit Service 1d0348

(All modes.)

Packit Service 1d0348
Rename files interactively. For each file, a prompt is
Packit Service 1d0348
written to /dev/tty containing the name of the file
Packit Service 1d0348
and a line is read from /dev/tty. If the line read is
Packit Service 1d0348
blank, the file is skipped. If the line contains a single
Packit Service 1d0348
period, the file is processed normally. Otherwise, the line
Packit Service 1d0348
is taken to be the new name of the file.

Packit Service 1d0348
Packit Service 1d0348

-t, --list

Packit Service 1d0348
Packit Service 1d0348

(i mode only) List the contents

Packit Service 1d0348
of the archive to stdout; do not restore the contents to
Packit Service 1d0348
disk.

Packit Service 1d0348
Packit Service 1d0348

-u,

Packit Service 1d0348
--unconditional

Packit Service 1d0348
Packit Service 1d0348

(i and p modes) Unconditionally

Packit Service 1d0348
overwrite existing files. Ordinarily, an older file will not
Packit Service 1d0348
overwrite a newer file on disk.

Packit Service 1d0348
Packit Service 1d0348

-V, --dot

Packit Service 1d0348
Packit Service 1d0348

Print a dot to stderr for each

Packit Service 1d0348
file as it is processed. Superseded by -v.

Packit Service 1d0348
Packit Service 1d0348

-v, --verbose

Packit Service 1d0348
Packit Service 1d0348

Print the name of each file to

Packit Service 1d0348
stderr as it is processed. With -t, provide a
Packit Service 1d0348
detailed listing of each file.

Packit Service 1d0348
Packit Service 1d0348

--version

Packit Service 1d0348
Packit Service 1d0348

Print the program version

Packit Service 1d0348
information and exit.

Packit Service 1d0348
Packit Service 1d0348

-y

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the archive with bzip2-compatible compression
Packit Service 1d0348
before writing it. In input mode, this option is ignored;
Packit Service 1d0348
bzip2 compression is recognized automatically on input.

Packit Service 1d0348
Packit Service 1d0348

-Z

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the archive with compress-compatible compression
Packit Service 1d0348
before writing it. In input mode, this option is ignored;
Packit Service 1d0348
compression is recognized automatically on input.

Packit Service 1d0348
Packit Service 1d0348

-z

Packit Service 1d0348
Packit Service 1d0348

(o mode only)

Packit Service 1d0348
Compress the archive with gzip-compatible compression before
Packit Service 1d0348
writing it. In input mode, this option is ignored; gzip
Packit Service 1d0348
compression is recognized automatically on input.

Packit Service 1d0348
Packit Service 1d0348

EXIT STATUS

Packit Service 1d0348
Packit Service 1d0348

The cpio utility

Packit Service 1d0348
exits 0 on success, and >0 if an error
Packit Service 1d0348
occurs.

Packit Service 1d0348
Packit Service 1d0348

ENVIRONMENT

Packit Service 1d0348
Packit Service 1d0348

The following environment

Packit Service 1d0348
variables affect the execution of cpio:

Packit Service 1d0348
Packit Service 1d0348

LANG

Packit Service 1d0348
Packit Service 1d0348

The locale to

Packit Service 1d0348
use. See environ(7) for more information.

Packit Service 1d0348
Packit Service 1d0348

TZ

Packit Service 1d0348
Packit Service 1d0348

The timezone to

Packit Service 1d0348
use when displaying dates. See environ(7) for more
Packit Service 1d0348
information.

Packit Service 1d0348
Packit Service 1d0348

EXAMPLES

Packit Service 1d0348
Packit Service 1d0348

The cpio command is

Packit Service 1d0348
traditionally used to copy file hierarchies in conjunction
Packit Service 1d0348
with the find(1) command. The first example here simply
Packit Service 1d0348
copies all files from src to dest:

Packit Service 1d0348
Packit Service 1d0348

find src |

Packit Service 1d0348
cpio -pmud dest

Packit Service 1d0348
Packit Service 1d0348

By carefully

Packit Service 1d0348
selecting options to the find(1) command and combining it
Packit Service 1d0348
with other standard utilities, it is possible to exercise
Packit Service 1d0348
very fine control over which files are copied. This next
Packit Service 1d0348
example copies files from src to dest that are
Packit Service 1d0348
more than 2 days old and whose names match a particular
Packit Service 1d0348
pattern:

Packit Service 1d0348
Packit Service 1d0348

find src

Packit Service 1d0348
-mtime +2 | grep foo[bar] | cpio
Packit Service 1d0348
-pdmu dest

Packit Service 1d0348
Packit Service 1d0348

This example

Packit Service 1d0348
copies files from src to dest that are more
Packit Service 1d0348
than 2 days old and which contain the word
Packit Service 1d0348
’’

Packit Service 1d0348
Packit Service 1d0348

foobar ’’:

Packit Service 1d0348
Packit Service 1d0348

find src

Packit Service 1d0348
-mtime +2 | xargs grep -l foobar |
Packit Service 1d0348
cpio -pdmu dest

Packit Service 1d0348
Packit Service 1d0348

COMPATIBILITY

Packit Service 1d0348
Packit Service 1d0348

The mode options i, o, and p and

Packit Service 1d0348
the options a, B, c, d, f, l, m, r, t, u, and v comply with
Packit Service 1d0348
SUSv2.

Packit Service 1d0348
Packit Service 1d0348

The old POSIX.1

Packit Service 1d0348
standard specified that only -i, -o, and
Packit Service 1d0348
-p were interpreted as command-line options. Each
Packit Service 1d0348
took a single argument of a list of modifier characters. For
Packit Service 1d0348
example, the standard syntax allows -imu but does not
Packit Service 1d0348
support -miu or -i -m -u, since m and
Packit Service 1d0348
u are only modifiers to -i, they are not
Packit Service 1d0348
command-line options in their own right. The syntax
Packit Service 1d0348
supported by this implementation is backwards-compatible
Packit Service 1d0348
with the standard. For best compatibility, scripts should
Packit Service 1d0348
limit themselves to the standard syntax.

Packit Service 1d0348
Packit Service 1d0348

SEE ALSO

Packit Service 1d0348
Packit Service 1d0348

bzip2(1), tar(1), gzip(1),

Packit Service 1d0348
mt(1), pax(1), libarchive(3), cpio(5),
Packit Service 1d0348
libarchive-formats(5), tar(5)

Packit Service 1d0348
Packit Service 1d0348

STANDARDS

Packit Service 1d0348
Packit Service 1d0348

There is no current POSIX

Packit Service 1d0348
standard for the cpio command; it appeared in ISO/IEC
Packit Service 1d0348
9945-1:1996 (’’POSIX.1’’) but was
Packit Service 1d0348
dropped from IEEE Std 1003.1-2001
Packit Service 1d0348
(’’POSIX.1’’).

Packit Service 1d0348
Packit Service 1d0348

The cpio, ustar,

Packit Service 1d0348
and pax interchange file formats are defined by IEEE Std
Packit Service 1d0348
1003.1-2001 (’’POSIX.1’’) for the
Packit Service 1d0348
pax command.

Packit Service 1d0348
Packit Service 1d0348

HISTORY

Packit Service 1d0348
Packit Service 1d0348

The original cpio and

Packit Service 1d0348
find utilities were written by Dick Haight while
Packit Service 1d0348
working in AT&T’s Unix Support Group. They first
Packit Service 1d0348
appeared in 1977 in PWB/UNIX 1.0, the
Packit Service 1d0348
’’Programmer’s Work Bench’’
Packit Service 1d0348
system developed for use within AT&T. They were first
Packit Service 1d0348
released outside of AT&T as part of System III Unix in
Packit Service 1d0348
1981. As a result, cpio actually predates tar,
Packit Service 1d0348
even though it was not well-known outside of AT&T until
Packit Service 1d0348
some time later.

Packit Service 1d0348
Packit Service 1d0348

This is a

Packit Service 1d0348
complete re-implementation based on the libarchive(3)
Packit Service 1d0348
library.

Packit Service 1d0348
Packit Service 1d0348

BUGS

Packit Service 1d0348
Packit Service 1d0348

The cpio archive format has

Packit Service 1d0348
several basic limitations: It does not store user and group
Packit Service 1d0348
names, only numbers. As a result, it cannot be reliably used
Packit Service 1d0348
to transfer files between systems with dissimilar user and
Packit Service 1d0348
group numbering. Older cpio formats limit the user and group
Packit Service 1d0348
numbers to 16 or 18 bits, which is insufficient for modern
Packit Service 1d0348
systems. The cpio archive formats cannot support files over
Packit Service 1d0348
4 gigabytes, except for the ’’odc’’
Packit Service 1d0348
variant, which can support files up to 8 gigabytes.

Packit Service 1d0348
Packit Service 1d0348

BSD

Packit Service 1d0348
September 16, 2014 BSD

Packit Service 1d0348

Packit Service 1d0348
</body>
Packit Service 1d0348
</html>