Copy-pass mode (cpio)

### 3.3 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.

This mode is requested by the `-p` (`--pass-through`) command line option.

The following options are valid in copy-out mode:

`-0`
`--null`

  Filenames in the list are delimited by ASCII null characters instead of newlines.

`-a`
`--reset-access-time`

  Reset the access times of files after reading them.

`-b`
`--swap`

  Swap both halfwords of words and bytes of halfwords in the data. Equivalent to `-sS`.

`--block-size=block-size`

  Sets the I/O block size to block-size * 512 bytes.

`-B`

  Set the I/O block size to 5120 bytes.

`-c`

  Identical to "-H newc", use the new (SVR4) portable format. If you wish the old portable (ASCII) archive format, use "-H odc" instead.

`-C number`
`--io-size=number`

  Set the I/O block size to the given number of bytes.

`-d`
`--make-directories`

  Create leading directories where needed.

`--device-independent`
`--reproducible`

  Create reproducible archives. This is equivalent to `--ignore-devno --renumber-inodes`.

`-D dir`
`--directory=dir`

  Change to directory dir

`-E file`
`--pattern-file=file`

  Read additional patterns specifying filenames to extract or list from file.

`-f`
`--nonmatching`

  Only copy files that do not match any of the given patterns.

`-F [[user@]host:]archive-file`
`-O [[user@]host:]archive-file`
`--file=[[user@]host:]archive-file`

  Use the supplied archive-file instead of standard input. Optional user and host specify the user and host names in case of a remote archive.

`--force-local`

  Treat the archive file as local, even if its name contains colons.

`-H format`
`--format=format`

  Use given archive format. See format, for a list of available formats.

`--ignore-devno`

  Store 0 in the device number field of each archive member, instead of the actual device number.

`-l`
`--link`

  Link files instead of copying them, when possible.

`-L`
`--dereference`

  Dereference symbolic links (copy the files that they point to instead of copying the links).

`-m`
`--preserve-modification-time`

  Retain previous file modification times when creating files.

`-M string`
`--message=string`

  Print string when the end of a volume of the backup media is reached.

`-n`
`--numeric-uid-gid`

  In the verbose table of contents listing, show numeric UID and GID values.

`--no-preserve-owner`

  Do not change the ownership of the files.

`--only-verify-crc`

  When reading a CRC format archive, only verify the CRC’s of each file in the archive, don’t actually extract the files

`--quiet`

  Do not print the number of blocks copied.

`--rsh-command=command`

  Use command instead of `rsh` to access remote archives.

`-r`
`--rename`

  Interactively rename files

`--renumber-inodes`

  Renumber inodes when storing them in the archive.

`-R`
`--owner=[user][:.][group]`

  Set the ownership of all files created to the specified user and/or group. See owner.

`-s`
`--swap-bytes`

  Swap the bytes of each halfword in the files

`--sparse`

  Write files with large blocks of zeros as sparse files.

`-S`
`--swap-halfwords`

  Swap the halfwords of each word (4 bytes) in the files

`--to-stdout`

  Extract files to standard output.

`-u`
`--unconditional`

  Replace all files unconditionally.

`-v`
`--verbose`

  Verbosely list the files processed.

`-V`
`--dot`

  Print a ‘`.`’ for each file processed.

`-W`
`--warning=flag`

  Control warning display. Argument is one of ‘`none`’, ‘`truncate`’, ‘`no-truncate`’ or ‘`all`’. See warning, for a detailed discussion of these.