diff options
-rw-r--r-- | doc/.cvsignore | 2 | ||||
-rw-r--r-- | doc/Makefile.am | 20 | ||||
-rw-r--r-- | doc/cpio.1 | 340 | ||||
-rw-r--r-- | doc/cpio.info | 493 | ||||
-rw-r--r-- | doc/cpio.texi | 563 | ||||
-rw-r--r-- | doc/mt.1 | 126 | ||||
-rw-r--r-- | src/.cvsignore | 11 | ||||
-rw-r--r-- | src/Makefile.am | 81 | ||||
-rw-r--r-- | src/alloca.c | 495 | ||||
-rw-r--r-- | src/argmatch.c | 87 | ||||
-rw-r--r-- | src/bcopy.c | 19 | ||||
-rw-r--r-- | src/copyin.c | 1605 | ||||
-rw-r--r-- | src/copyout.c | 827 | ||||
-rw-r--r-- | src/copypass.c | 482 | ||||
-rw-r--r-- | src/cpio.h | 69 | ||||
-rw-r--r-- | src/cpiohdr.h | 90 | ||||
-rw-r--r-- | src/defer.c | 46 | ||||
-rw-r--r-- | src/defer.h | 25 | ||||
-rw-r--r-- | src/dirname.c | 70 | ||||
-rw-r--r-- | src/dstring.c | 118 | ||||
-rw-r--r-- | src/dstring.h | 49 | ||||
-rw-r--r-- | src/error.c | 109 | ||||
-rw-r--r-- | src/extern.h | 198 | ||||
-rw-r--r-- | src/filemode.c | 255 | ||||
-rw-r--r-- | src/filetypes.h | 84 | ||||
-rw-r--r-- | src/fnmatch.c | 200 | ||||
-rw-r--r-- | src/fnmatch.h | 67 | ||||
-rw-r--r-- | src/getopt.c | 765 | ||||
-rw-r--r-- | src/getopt.h | 129 | ||||
-rw-r--r-- | src/getopt1.c | 180 | ||||
-rw-r--r-- | src/gettext.h | 68 | ||||
-rw-r--r-- | src/global.c | 204 | ||||
-rw-r--r-- | src/idcache.c | 210 | ||||
-rw-r--r-- | src/main.c | 550 | ||||
-rw-r--r-- | src/makepath.c | 311 | ||||
-rw-r--r-- | src/mkdir.c | 100 | ||||
-rw-r--r-- | src/mt.c | 366 | ||||
-rw-r--r-- | src/rmt.c | 473 | ||||
-rw-r--r-- | src/rmt.h | 98 | ||||
-rw-r--r-- | src/rtapelib.c | 601 | ||||
-rw-r--r-- | src/safe-stat.h | 1 | ||||
-rw-r--r-- | src/strdup.c | 43 | ||||
-rw-r--r-- | src/strerror.c | 63 | ||||
-rw-r--r-- | src/stripslash.c | 43 | ||||
-rw-r--r-- | src/system.h | 146 | ||||
-rw-r--r-- | src/tar.c | 528 | ||||
-rw-r--r-- | src/tar.h | 112 | ||||
-rw-r--r-- | src/tarhdr.h | 62 | ||||
-rw-r--r-- | src/userspec.c | 265 | ||||
-rw-r--r-- | src/util.c | 1376 | ||||
-rw-r--r-- | src/xmalloc.c | 103 | ||||
-rw-r--r-- | src/xstrdup.c | 36 |
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 portable (ASCII) archive format. + +`-C IO-SIZE, --io-size=IO-SIZE' + Set the I/O block size to IO-SIZE bytes. + +`-d, --make-directories' + Create leading directories where needed. + +`-E FILE, --pattern-file=FILE' + 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 cpio. This option is used in copy-in mode, + +`-f, --nonmatching' + Only copy files that do not match any of the given patterns. + +`-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). + +`--force-local' + With -F, -I, or -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. + +`-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'. + + `bin' + The obsolete binary format. + + `odc' |