aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2004-02-27 13:28:40 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2004-02-27 13:28:40 +0000
commita783e2c18c6b566b2f4c2b06e6c388a9645c826c (patch)
treeae12abc157dee99bd4c67bab25316be06d3519a2
parentcb721df9888a296af824a4acab4916694d6dc35d (diff)
downloadcpio-a783e2c18c6b566b2f4c2b06e6c388a9645c826c.tar.gz
cpio-a783e2c18c6b566b2f4c2b06e6c388a9645c826c.tar.bz2
Added to the repository
-rw-r--r--doc/.cvsignore2
-rw-r--r--doc/Makefile.am20
-rw-r--r--doc/cpio.1340
-rw-r--r--doc/cpio.info493
-rw-r--r--doc/cpio.texi563
-rw-r--r--doc/mt.1126
-rw-r--r--src/.cvsignore11
-rw-r--r--src/Makefile.am81
-rw-r--r--src/alloca.c495
-rw-r--r--src/argmatch.c87
-rw-r--r--src/bcopy.c19
-rw-r--r--src/copyin.c1605
-rw-r--r--src/copyout.c827
-rw-r--r--src/copypass.c482
-rw-r--r--src/cpio.h69
-rw-r--r--src/cpiohdr.h90
-rw-r--r--src/defer.c46
-rw-r--r--src/defer.h25
-rw-r--r--src/dirname.c70
-rw-r--r--src/dstring.c118
-rw-r--r--src/dstring.h49
-rw-r--r--src/error.c109
-rw-r--r--src/extern.h198
-rw-r--r--src/filemode.c255
-rw-r--r--src/filetypes.h84
-rw-r--r--src/fnmatch.c200
-rw-r--r--src/fnmatch.h67
-rw-r--r--src/getopt.c765
-rw-r--r--src/getopt.h129
-rw-r--r--src/getopt1.c180
-rw-r--r--src/gettext.h68
-rw-r--r--src/global.c204
-rw-r--r--src/idcache.c210
-rw-r--r--src/main.c550
-rw-r--r--src/makepath.c311
-rw-r--r--src/mkdir.c100
-rw-r--r--src/mt.c366
-rw-r--r--src/rmt.c473
-rw-r--r--src/rmt.h98
-rw-r--r--src/rtapelib.c601
-rw-r--r--src/safe-stat.h1
-rw-r--r--src/strdup.c43
-rw-r--r--src/strerror.c63
-rw-r--r--src/stripslash.c43
-rw-r--r--src/system.h146
-rw-r--r--src/tar.c528
-rw-r--r--src/tar.h112
-rw-r--r--src/tarhdr.h62
-rw-r--r--src/userspec.c265
-rw-r--r--src/util.c1376
-rw-r--r--src/xmalloc.c103
-rw-r--r--src/xstrdup.c36
52 files changed, 13364 insertions, 0 deletions
diff --git a/doc/.cvsignore b/doc/.cvsignore
new file mode 100644
index 0000000..3dda729
--- /dev/null
+++ b/doc/.cvsignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..c3ec682
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,20 @@
+# This file is part of GNU cpio
+# Copyright (C) 2004 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+info_TEXINFOS = cpio.texi
+man_MANS = cpio.1 mt.1
+EXTRA_DIST = $(man_MANS)
diff --git a/doc/cpio.1 b/doc/cpio.1
new file mode 100644
index 0000000..5051f8d
--- /dev/null
+++ b/doc/cpio.1
@@ -0,0 +1,340 @@
+.TH CPIO 1L \" -*- nroff -*-
+.SH NAME
+cpio \- copy files to and from archives
+.SH SYNOPSIS
+.B cpio
+{\-o|\-\-create} [\-0acvABLV] [\-C bytes] [\-H format] [\-M message]
+[\-O [[user@]host:]archive] [\-F [[user@]host:]archive]
+[\-\-file=[[user@]host:]archive] [\-\-format=format] [\-\-message=message]
+[\-\-null] [\-\-reset-access-time] [\-\-verbose] [\-\-dot] [\-\-append]
+[\-\-block-size=blocks] [\-\-dereference] [\-\-io-size=bytes] [\-\-quiet]
+[\-\-force\-local] [\-\-rsh-command=command] [\-\-help] [\-\-version]
+< name-list [> archive]
+
+.B cpio
+{\-i|\-\-extract} [\-bcdfmnrtsuvBSV] [\-C bytes] [\-E file] [\-H format]
+[\-M message] [\-R [user][:.][group]] [\-I [[user@]host:]archive]
+[\-F [[user@]host:]archive] [\-\-file=[[user@]host:]archive]
+[\-\-make-directories] [\-\-nonmatching] [\-\-preserve-modification-time]
+[\-\-numeric-uid-gid] [\-\-rename] [\-t|\-\-list] [\-\-swap-bytes] [\-\-swap] [\-\-dot]
+[\-\-unconditional] [\-\-verbose] [\-\-block-size=blocks] [\-\-swap-halfwords]
+[\-\-io-size=bytes] [\-\-pattern-file=file] [\-\-format=format]
+[\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message]
+[\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse]
+[\-\-only\-verify\-crc] [\-\-quiet] [\-\-rsh-command=command] [\-\-help]
+[\-\-version] [pattern...] [< archive]
+
+.B cpio
+{\-p|\-\-pass-through} [\-0adlmuvLV] [\-R [user][:.][group]]
+[\-\-null] [\-\-reset-access-time] [\-\-make-directories] [\-\-link] [\-\-quiet]
+[\-\-preserve-modification-time] [\-\-unconditional] [\-\-verbose] [\-\-dot]
+[\-\-dereference] [\-\-owner=[user][:.][group]] [\-\-no-preserve-owner]
+[\-\-sparse] [\-\-help] [\-\-version] destination-directory < name-list
+.SH DESCRIPTION
+This manual page
+documents the GNU version of
+.BR cpio .
+.B cpio
+copies files into or out of a cpio or tar archive, which is a file that
+contains other files plus information about them, such as their
+file name, owner, timestamps, and access permissions. The archive can
+be another file on the disk, a magnetic tape, or a pipe.
+.B cpio
+has three operating modes.
+.PP
+In copy-out mode,
+.B cpio
+copies files into an archive. It reads a list of filenames, one per
+line, on the standard input, and writes the archive onto the standard
+output. A typical way to generate the list of filenames is with the
+.B find
+command; you should give
+.B find
+the \-depth option to minimize problems with permissions on
+directories that are unwritable or not searchable.
+.PP
+In copy-in mode,
+.B cpio
+copies files out of an archive or lists the archive contents. It
+reads the archive from the standard input. Any non-option command
+line arguments are shell globbing patterns; only files in the archive
+whose names match one or more of those patterns are copied from the
+archive. Unlike in the shell, an initial `.' in a filename does
+match a wildcard at the start of a pattern, and a `/' in a filename
+can match wildcards. If no patterns are given, all files are
+extracted.
+.PP
+In copy-pass mode,
+.B cpio
+copies files from one directory tree to another, combining the
+copy-out and copy-in steps without actually using an archive.
+It reads the list of files to copy from the standard input; the
+directory into which it will copy them is given as a non-option
+argument.
+.PP
+.B cpio
+supports the following archive formats: binary, old ASCII, new
+ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar.
+The binary format
+is obsolete because it encodes information about the files in a way
+that is not portable between different machine architectures.
+The old ASCII format is portable between different machine architectures,
+but should not be used on file systems with more than 65536 i-nodes.
+The new ASCII format is portable between different machine architectures
+and can be used on any size file system, but is not supported by all
+versions of
+.BR cpio ;
+currently, it is only supported by GNU and Unix System V R4.
+The crc format is
+like the new ASCII format, but also contains a checksum for each file
+which
+.B cpio
+calculates when creating an archive
+and verifies when the file is extracted from the archive.
+The HPUX formats are provided for compatibility with HPUX's cpio which
+stores device files differently.
+.PP
+The tar format is provided for compatability with
+the
+.B tar
+program. It can not be used to archive files with names
+longer than 100 characters, and can not be used to archive "special"
+(block or character devices) files.
+The POSIX.1 tar format can not be used to archive files with names longer
+than 255 characters (less unless they have a "/" in just the right place).
+.PP
+By default,
+.B cpio
+creates binary format archives, for compatibility with
+older
+.B cpio
+programs.
+When extracting from archives,
+.B cpio
+automatically recognizes which kind of archive it is reading and can
+read archives created on machines with a different byte-order.
+.PP
+Some of the options to
+.B cpio
+apply only to certain operating modes; see the SYNOPSIS section for a
+list of which options are allowed in which modes.
+.SS OPTIONS
+.TP
+.I "\-0, \-\-null"
+In copy-out and copy-pass modes, read a list of filenames terminated
+by a null character instead of a newline, so that files whose names
+contain newlines can be archived. GNU
+.B find
+is one way to produce a list of null-terminated filenames.
+.TP
+.I "\-a, \-\-reset-access-time"
+Reset the access times of files after reading them, so that it does
+not look like they have just been read.
+.TP
+.I "\-A, \-\-append"
+Append to an existing archive. Only works in copy-out mode. The
+archive must be a disk file specified with the
+.I \-O
+or
+.I "\-F (\-\-file)"
+option.
+.TP
+.I "\-b, \-\-swap"
+In copy-in mode, swap both halfwords of words and bytes of halfwords
+in the data. Equivalent to
+.IR "\-sS" .
+Use this option to convert 32-bit integers between big-endian and
+little-endian machines.
+.TP
+.I "\-B"
+Set the I/O block size to 5120 bytes. Initially the block size is 512
+bytes.
+.TP
+.I "\-\-block-size=BLOCK-SIZE"
+Set the I/O block size to BLOCK-SIZE * 512 bytes.
+.TP
+.I "\-c"
+Use the old portable (ASCII) archive format.
+.TP
+.I "\-C IO-SIZE, \-\-io-size=IO-SIZE"
+Set the I/O block size to IO-SIZE bytes.
+.TP
+.I "\-d, \-\-make-directories"
+Create leading directories where needed.
+.TP
+.I "\-E FILE, \-\-pattern-file=FILE"
+In copy-in mode, read additional patterns specifying filenames to
+extract or list from FILE. The lines of FILE are treated as if they
+had been non-option arguments to
+.BR cpio .
+.TP
+.I "\-f, \-\-nonmatching"
+Only copy files that do not match any of the given patterns.
+.TP
+.I "\-F, \-\-file=archive"
+Archive filename to use instead of standard input or output. To use a
+tape drive on another machine as the archive, use a filename that
+starts with `HOSTNAME:'. The hostname can be preceded by a
+username and an `@' to access the remote tape drive as that user, if
+you have permission to do so (typically an entry in that user's
+`~/.rhosts' file).
+.TP
+.I "\-\-force-local"
+With
+.IR \-F ,
+.IR \-I ,
+or
+.IR \-O ,
+take the archive file name to be a local file even if it contains a
+colon, which would ordinarily indicate a remote host name.
+.TP
+.I "\-H FORMAT, \-\-format=FORMAT"
+Use archive format FORMAT. The valid formats are listed below;
+the same names are also recognized in all-caps. The default in
+copy-in mode is to automatically detect the archive format, and in
+copy-out mode is "bin".
+.RS
+.IP bin
+The obsolete binary format.
+.IP odc
+The old (POSIX.1) portable format.
+.IP newc
+The new (SVR4) portable format, which supports file systems having
+more than 65536 i-nodes.
+.IP crc
+The new (SVR4) portable format with a checksum added.
+.IP tar
+The old tar format.
+.IP ustar
+The POSIX.1 tar format. Also recognizes GNU
+.B tar
+archives, which are similar but not identical.
+.IP hpbin
+The obsolete binary format used by HPUX's cpio (which stores device files
+differently).
+.IP hpodc
+The portable format used by HPUX's cpio (which stores device files differently).
+.RE
+.TP
+.I "\-i, \-\-extract"
+Run in copy-in mode.
+.TP
+.I "\-I archive"
+Archive filename to use instead of standard input. To use a
+tape drive on another machine as the archive, use a filename that
+starts with `HOSTNAME:'. The hostname can be preceded by a
+username and an `@' to access the remote tape drive as that user, if
+you have permission to do so (typically an entry in that user's
+`~/.rhosts' file).
+.TP
+.I \-k
+Ignored; for compatibility with other versions of
+.BR cpio .
+.TP
+.I "\-l, \-\-link"
+Link files instead of copying them, when possible.
+.TP
+.I "\-L, \-\-dereference"
+Dereference symbolic links (copy the files that they point to instead
+of copying the links).
+.TP
+.I "\-m, \-\-preserve-modification-time"
+Retain previous file modification times when creating files.
+.TP
+.I "\-M MESSAGE, \-\-message=MESSAGE"
+Print MESSAGE when the end of a volume of the backup media (such as a
+tape or a floppy disk) is reached, to prompt the user to insert a new
+volume. If MESSAGE contains the string "%d", it is replaced by the
+current volume number (starting at 1).
+.TP
+.I "\-n, \-\-numeric-uid-gid"
+In the verbose table of contents listing, show numeric UID and GID
+instead of translating them into names.
+Also extracts tar archives using the numeric UID and GID instead of the
+user/group names.
+.RB ( cpio
+archives are always extracted using the numeric UID and GID.)
+.TP
+.I " \-\-no-absolute-filenames"
+In copy-in mode, create all files relative to the current directory,
+even if they have an absolute file name in the archive.
+.TP
+.I " \-\-no-preserve-owner"
+In copy-in mode and copy-pass mode, do not change the ownership of the
+files; leave them owned by the user extracting them. This is the
+default for non-root users, so that users on System V don't
+inadvertantly give away files.
+.TP
+.I "\-o, \-\-create"
+Run in copy-out mode.
+.TP
+.I "\-O archive"
+Archive filename to use instead of standard output. To use a tape
+drive on another machine as the archive, use a filename that starts
+with `HOSTNAME:'. The hostname can be preceded by a username and an
+`@' to access the remote tape drive as that user, if you have
+permission to do so (typically an entry in that user's `~/.rhosts'
+file).
+.TP
+.I " \-\-only-verify-crc"
+When reading a CRC format archive in copy-in mode, only verify the
+CRC's of each file in the archive, don't actually extract the files.
+.TP
+.I "\-p, \-\-pass-through"
+Run in copy-pass mode.
+.TP
+.I "\-\-quiet"
+Do not print the number of blocks copied.
+.TP
+.I "\-r, \-\-rename"
+Interactively rename files.
+.TP
+.I "\-R [user][:.][group], \-\-owner [user][:.][group]"
+In copy-out and copy-pass modes, set the ownership of all files created
+to the specified user and/or group. Either the user or the group, or
+both, must be present. If the group is omitted but the ":" or "."
+separator is given, use the given user's login group. Only the
+super-user can change files' ownership.
+.TP
+.I "\-\-rsh-command=COMMAND"
+Notifies
+.B mt
+that it should use COMMAND to communicate with remote devices instead of
+.I /usr/bin/ssh
+or
+.IR /usr/bin/rsh .
+.TP
+.I "\-\-sparse"
+In copy-in and copy-pass modes, write files with large blocks of zeros
+as sparse files.
+.TP
+.I "\-s, \-\-swap-bytes"
+In copy-in mode, swap the bytes of each halfword (pair of bytes) in the
+files.
+.TP
+.I "\-S, \-\-swap-halfwords"
+In copy-in mode, swap the halfwords of each word (4 bytes) in the
+files.
+.TP
+.I "\-t, \-\-list"
+Print a table of contents of the input.
+.TP
+.I "\-u, \-\-unconditional"
+Replace all files, without asking whether to replace existing newer
+files with older files.
+.TP
+.I "\-v, \-\-verbose"
+List the files processed, or with
+.IR \-t ,
+give an `ls \-l' style table of contents listing. In a verbose table
+of contents of a ustar archive, user and group names in the archive
+that do not exist on the local system are replaced by the names that
+correspond locally to the numeric UID and GID stored in the archive.
+.TP
+.I "\-V \-\-dot"
+Print a "." for each file processed.
+.TP
+.I "\-\-version"
+Print the
+.B cpio
+program version number and exit.
diff --git a/doc/cpio.info b/doc/cpio.info
new file mode 100644
index 0000000..19a75f4
--- /dev/null
+++ b/doc/cpio.info
@@ -0,0 +1,493 @@
+This is cpio.info, produced by makeinfo version 4.6 from cpio.texi.
+
+START-INFO-DIR-ENTRY
+* cpio: (cpio). Making tape (or disk) archives.
+END-INFO-DIR-ENTRY
+
+ This file documents GNU cpio 2.5.
+
+ Copyright (C) 1995, 2001, 2002 Free Software Foundation, Inc.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+
+File: cpio.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
+
+
+
+GNU cpio is a tool for creating and extracting archives, or copying
+files from one place to another. It handles a number of cpio formats as
+well as reading and writing tar files. This is the first edition of the
+GNU cpio documentation and is consistant with GNU cpio 2.5.
+
+* Menu:
+
+* Introduction::
+* Tutorial:: Getting started.
+* Invoking `cpio':: How to invoke `cpio'.
+* Media:: Using tapes and other archive media.
+* Concept Index:: Concept index.
+
+ --- The Detailed Node Listing ---
+
+Invoking cpio
+
+* Copy-out mode::
+* Copy-in mode::
+* Copy-pass mode::
+* Options::
+
+
+File: cpio.info, Node: Introduction, Next: Tutorial, Prev: Top, Up: Top
+
+Introduction
+************
+
+GNU cpio copies files into or out of a cpio or tar archive, The archive
+can be another file on the disk, a magnetic tape, or a pipe.
+
+ GNU cpio supports the following archive formats: binary, old ASCII,
+new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar.
+The tar format is provided for compatability with the tar program. By
+default, cpio creates binary format archives, for compatibility with
+older cpio programs. When extracting from archives, cpio automatically
+recognizes which kind of archive it is reading and can read archives
+created on machines with a different byte-order.
+
+
+File: cpio.info, Node: Tutorial, Next: Invoking `cpio', Prev: Introduction, Up: Top
+
+Tutorial
+********
+
+GNU cpio performs three primary functions. Copying files to an
+archive, Extracting files from an archive, and passing files to another
+directory tree. An archive can be a file on disk, one or more floppy
+disks, or one or more tapes.
+
+ When creating an archive, cpio takes the list of files to be
+processed from the standard input, and then sends the archive to the
+standard output, or to the device defined by the `-F' option. *Note
+Copy-out mode::. Usually find or ls is used to provide this list to
+the standard input. In the following example you can see the
+possibilities for archiving the contents of a single directory.
+
+ % ls | cpio -ov > directory.cpio
+
+ The `-o' option creates the archive, and the `-v' option prints the
+names of the files archived as they are added. Notice that the options
+can be put together after a single `-' or can be placed separately on
+the command line. The `>' redirects the cpio output to the file
+`directory.cpio'.
+
+ If you wanted to archive an entire directory tree, the find command
+can provide the file list to cpio:
+
+ % find . -print -depth | cpio -ov > tree.cpio
+
+ This will take all the files in the current directory, the
+directories below and place them in the archive tree.cpio. Again the
+`-o' creates an archive, and the `-v' option shows you the name of the
+files as they are archived. *Note Copy-out mode::. Using the `.' in
+the find statement will give you more flexibility when doing restores,
+as it will save file names with a relative path vice a hard wired,
+absolute path. The `-depth' option forces `find' to print of the
+entries in a directory before printing the directory itself. This
+limits the effects of restrictive directory permissions by printing the
+directory entries in a directory before the directory name itself.
+
+ Extracting an archive requires a bit more thought because cpio will
+not create directories by default. Another characteristic, is it will
+not overwrite existing files unless you tell it to.
+
+ % cpio -iv < directory.cpio
+
+ This will retrieve the files archived in the file directory.cpio and
+place them in the present directory. The `-i' option extracts the
+archive and the `-v' shows the file names as they are extracted. If
+you are dealing with an archived directory tree, you need to use the
+`-d' option to create directories as necessary, something like:
+
+ % cpio -idv < tree.cpio
+
+ This will take the contents of the archive tree.cpio and extract it
+to the current directory. If you try to extract the files on top of
+files of the same name that already exist (and have the same or later
+modification time) cpio will not extract the file unless told to do so
+by the -u option. *Note Copy-in mode::.
+
+ In copy-pass mode, cpio copies files from one directory tree to
+another, combining the copy-out and copy-in steps without actually
+using an archive. It reads the list of files to copy from the standard
+input; the directory into which it will copy them is given as a
+non-option argument. *Note Copy-pass mode::.
+
+ % find . -depth -print0 | cpio --null -pvd new-dir
+
+ The example shows copying the files of the present directory, and
+sub-directories to a new directory called new-dir. Some new options are
+the `-print0' available with GNU find, combined with the `--null'
+option of cpio. These two options act together to send file names
+between find and cpio, even if special characters are embedded in the
+file names. Another is `-p', which tells cpio to pass the files it
+finds to the directory `new-dir'.
+
+
+File: cpio.info, Node: Invoking `cpio', Next: Media, Prev: Tutorial, Up: Top
+
+Invoking cpio
+*************
+
+* Menu:
+
+* Copy-out mode::
+* Copy-in mode::
+* Copy-pass mode::
+* Options::
+
+
+File: cpio.info, Node: Copy-out mode, Next: Copy-in mode, Prev: Invoking `cpio', Up: Invoking `cpio'
+
+Copy-out mode
+=============
+
+In copy-out mode, cpio copies files into an archive. It reads a list
+of filenames, one per line, on the standard input, and writes the
+archive onto the standard output. A typical way to generate the list
+of filenames is with the find command; you should give find the -depth
+option to minimize problems with permissions on directories that are
+unreadable. *Note Options::.
+
+ cpio {-o|--create} [-0acvABLV] [-C bytes] [-H format]
+ [-M message] [-O [[user@]host:]archive] [-F [[user@]host:]archive]
+ [--file=[[user@]host:]archive] [--format=format]
+ [--message=message][--null] [--reset-access-time] [--verbose]
+ [--dot] [--append] [--block-size=blocks] [--dereference]
+ [--io-size=bytes] [--rsh-command=command] [--help] [--version]
+ < name-list [> archive]
+
+
+File: cpio.info, Node: Copy-in mode, Next: Copy-pass mode, Prev: Copy-out mode, Up: Invoking `cpio'
+
+Copy-in mode
+============
+
+In copy-in mode, cpio copies files out of an archive or lists the
+archive contents. It reads the archive from the standard input. Any
+non-option command line arguments are shell globbing patterns; only
+files in the archive whose names match one or more of those patterns are
+copied from the archive. Unlike in the shell, an initial `.' in a
+filename does match a wildcard at the start of a pattern, and a `/' in a
+filename can match wildcards. If no patterns are given, all files are
+extracted. *Note Options::.
+
+ cpio {-i|--extract} [-bcdfmnrtsuvBSV] [-C bytes] [-E file]
+ [-H format] [-M message] [-R [user][:.][group]]
+ [-I [[user@]host:]archive] [-F [[user@]host:]archive]
+ [--file=[[user@]host:]archive] [--make-directories]
+ [--nonmatching] [--preserve-modification-time]
+ [--numeric-uid-gid] [--rename] [--list] [--swap-bytes] [--swap]
+ [--dot] [--unconditional] [--verbose] [--block-size=blocks]
+ [--swap-halfwords] [--io-size=bytes] [--pattern-file=file]
+ [--format=format] [--owner=[user][:.][group]]
+ [--no-preserve-owner] [--message=message] [--help] [--version]
+ [-no-absolute-filenames] [--sparse] [-only-verify-crc] [-quiet]
+ [--rsh-command=command] [pattern...] [< archive]
+
+
+File: cpio.info, Node: Copy-pass mode, Next: Options, Prev: Copy-in mode, Up: Invoking `cpio'
+
+Copy-pass mode
+==============
+
+In copy-pass mode, cpio copies files from one directory tree to
+another, combining the copy-out and copy-in steps without actually
+using an archive. It reads the list of files to copy from the standard
+input; the directory into which it will copy them is given as a
+non-option argument. *Note Options::.
+
+ cpio {-p|--pass-through} [-0adlmuvLV] [-R [user][:.][group]]
+ [--null] [--reset-access-time] [--make-directories] [--link]
+ [--preserve-modification-time] [--unconditional] [--verbose]
+ [--dot] [--dereference] [--owner=[user][:.][group]] [--sparse]
+ [--no-preserve-owner] [--help] [--version] destination-directory
+ < name-list
+
+
+File: cpio.info, Node: Options, Prev: Copy-pass mode, Up: Invoking `cpio'
+
+Options
+=======
+
+`-0, --null'
+ Read a list of filenames terminated by a null character, instead
+ of a newline, so that files whose names contain newlines can be
+ archived. GNU find is one way to produce a list of
+ null-terminated filenames. This option may be used in copy-out
+ and copy-pass modes.
+
+`-a, --reset-access-time'
+ Reset the access times of files after reading them, so that it
+ does not look like they have just been read.
+
+`-A, --append'
+ Append to an existing archive. Only works in copy-out mode. The
+ archive must be a disk file specified with the -O or -F (-file)
+ option.
+
+`-b, --swap'
+ Swap both halfwords of words and bytes of halfwords in the data.
+ Equivalent to -sS. This option may be used in copy-in mode. Use
+ this option to convert 32-bit integers between big-endian and
+ little-endian machines.
+
+`-B'
+ Set the I/O block size to 5120 bytes. Initially the block size is
+ 512 bytes.
+
+`--block-size=BLOCK-SIZE'
+ Set the I/O block size to BLOCK-SIZE * 512 bytes.
+
+`-c'
+ Use the old portabl