{
    "mode": "man",
    "parameter": "CPIO",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/CPIO/1/json",
    "generated": "2026-10-22T12:43:20Z",
    "synopsis": "cpio {-o|--create} [-0acvABLV] [-C BYTES] [-H FORMAT] [-M MESSAGE] [-O [[USER@]HOST:]ARCHIVE]\n[-F  [[USER@]HOST:]ARCHIVE]  [--file=[[USER@]HOST:]ARCHIVE] [--format=FORMAT] [--message=MES‐\nSAGE] [--null] [--reset-access-time]  [--verbose]  [--dot]  [--append]  [--block-size=blocks]\n[--dereference]  [--io-size=BYTES]  [--quiet] [--force-local] [--rsh-command=COMMAND] < name-\nlist [> archive]\ncpio {-i|--extract} [-bcdfmnrtsuvBSV] [-C BYTES] [-E  FILE]  [-H  FORMAT]  [-M  MESSAGE]  [-R\n[USER][:.][GROUP]]       [-I      [[USER@]HOST:]ARCHIVE]      [-F      [[USER@]HOST:]ARCHIVE]\n[--file=[[USER@]HOST:]ARCHIVE]  [--make-directories]  [--nonmatching]   [--preserve-modifica‐\ntion-time]  [--numeric-uid-gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--uncon‐\nditional]  [--verbose]  [--block-size=BLOCKS]  [--swap-halfwords]  [--io-size=BYTES]  [--pat‐\ntern-file=FILE]  [--format=FORMAT]  [--owner=[USER][:.][GROUP]] [--no-preserve-owner] [--mes‐\nsage=MESSAGE]  [--force-local]   [--no-absolute-filenames]   [--sparse]   [--only-verify-crc]\n[--to-stdout] [--quiet] [--rsh-command=COMMAND] [pattern...] [< archive]\ncpio  {-p|--pass-through}  [-0adlmuvLV] [-R [USER][:.][GROUP]] [--null] [--reset-access-time]\n[--make-directories]  [--link]  [--quiet]  [--preserve-modification-time]   [--unconditional]\n[--verbose]   [--dot]   [--dereference]   [--owner=[USER][:.][GROUP]]   [--no-preserve-owner]\n[--sparse] destination-directory < name-list\ncpio {-?|--help|--usage|--version}",
    "sections": {
        "NAME": {
            "content": "cpio - copy files to and from archives\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "cpio {-o|--create} [-0acvABLV] [-C BYTES] [-H FORMAT] [-M MESSAGE] [-O [[USER@]HOST:]ARCHIVE]\n[-F  [[USER@]HOST:]ARCHIVE]  [--file=[[USER@]HOST:]ARCHIVE] [--format=FORMAT] [--message=MES‐\nSAGE] [--null] [--reset-access-time]  [--verbose]  [--dot]  [--append]  [--block-size=blocks]\n[--dereference]  [--io-size=BYTES]  [--quiet] [--force-local] [--rsh-command=COMMAND] < name-\nlist [> archive]\n\ncpio {-i|--extract} [-bcdfmnrtsuvBSV] [-C BYTES] [-E  FILE]  [-H  FORMAT]  [-M  MESSAGE]  [-R\n[USER][:.][GROUP]]       [-I      [[USER@]HOST:]ARCHIVE]      [-F      [[USER@]HOST:]ARCHIVE]\n[--file=[[USER@]HOST:]ARCHIVE]  [--make-directories]  [--nonmatching]   [--preserve-modifica‐\ntion-time]  [--numeric-uid-gid] [--rename] [--list] [--swap-bytes] [--swap] [--dot] [--uncon‐\nditional]  [--verbose]  [--block-size=BLOCKS]  [--swap-halfwords]  [--io-size=BYTES]  [--pat‐\ntern-file=FILE]  [--format=FORMAT]  [--owner=[USER][:.][GROUP]] [--no-preserve-owner] [--mes‐\nsage=MESSAGE]  [--force-local]   [--no-absolute-filenames]   [--sparse]   [--only-verify-crc]\n[--to-stdout] [--quiet] [--rsh-command=COMMAND] [pattern...] [< archive]\n\ncpio  {-p|--pass-through}  [-0adlmuvLV] [-R [USER][:.][GROUP]] [--null] [--reset-access-time]\n[--make-directories]  [--link]  [--quiet]  [--preserve-modification-time]   [--unconditional]\n[--verbose]   [--dot]   [--dereference]   [--owner=[USER][:.][GROUP]]   [--no-preserve-owner]\n[--sparse] destination-directory < name-list\n\ncpio {-?|--help|--usage|--version}\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "Report cpio bugs to bug-cpio@gnu.org\n\nGNU cpio home page: <http://www.gnu.org/software/cpio/>\n\nGeneral help using GNU software: <http://www.gnu.org/gethelp/>\n\nReport cpio translation bugs to <http://translationproject.org/team/>\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "tar(1), rmt(8), mt(1).\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "GNU cpio copies files between archives and directories.  It supports  the  following  archive\nformats:  old  binary  cpio, old portable cpio, SVR4 cpio with and without checksum, HP cpio,\nand various tar formats.\n\nThe operation mode is requested by one of the following options:\n",
            "subsections": [
                {
                    "name": "-o --create",
                    "content": "Copy-out.  Read a list of file names from the standard input and create on  the  stan‐\ndard  output  (unless  overridden  by  the  --file option) an archive containing these\nfiles.\n",
                    "flag": "-o",
                    "long": "--create"
                },
                {
                    "name": "-i --extract",
                    "content": "Copy-in.  Read the archive from standard input (or from the  file  supplied  with  the\n--file option) and extract files from it, or (if the -t option is given) list its con‐\ntents to the standard output.  If one or more patterns are supplied, read or list only\nfiles matching these patterns.  The -t option alone implies -i.\n",
                    "flag": "-i",
                    "long": "--extract"
                },
                {
                    "name": "-p --pass-through",
                    "content": "Pass-through.   Read a list of file names from the standard input and copy them to the\nspecified directory.\n\n-?, --help\nGive a short help summary and exit.\n",
                    "flag": "-p",
                    "long": "--pass-through"
                },
                {
                    "name": "--usage",
                    "content": "Print a short usage message and exit.\n",
                    "long": "--usage"
                },
                {
                    "name": "--version",
                    "content": "Print program version and exit.\n",
                    "long": "--version"
                }
            ]
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "Operation modifiers valid in any mode",
                    "content": "--block-size=BLOCK-SIZE\nSet the I/O block size to BLOCK-SIZE * 512 bytes.\n"
                },
                {
                    "name": "-B",
                    "content": "",
                    "flag": "-B"
                },
                {
                    "name": "-c      -H odc",
                    "content": "",
                    "flag": "-H"
                },
                {
                    "name": "-C --io-size=_",
                    "content": "Set the I/O block size to the given NUMBER of bytes.\n",
                    "flag": "-C",
                    "long": "--io-size",
                    "arg": "_"
                },
                {
                    "name": "-D --directory=_",
                    "content": "Change to directory DIR.\n",
                    "flag": "-D",
                    "long": "--directory",
                    "arg": "_"
                },
                {
                    "name": "--force-local",
                    "content": "Archive file is local, even if its name contains colons.\n",
                    "long": "--force-local"
                },
                {
                    "name": "-H --format=_",
                    "content": "Use given archive FORMAT.  Valid formats are (the number in parentheses gives  maximum\nsize for individual archive member):\n\nbin    The obsolete binary format.  (2147483647 bytes)\n\nodc    The old (POSIX.1) portable format. (8589934591 bytes)\n\nnewc   The  new  (SVR4)  portable format, which supports file systems having more than\n65536 inodes. (4294967295 bytes)\n\ncrc    The new (SVR4) portable format with a checksum added.\n\ntar    The old tar format. (8589934591 bytes)\n\nustar  The POSIX.1 tar format.  Also recognizes GNU tar archives,  which  are  similar\nbut not identical. (8589934591 bytes)\n\nhpbin  The  obsolete binary format used by HPUX's cpio (which stores device files dif‐\nferently).\n\nhpodc  The portable format used by HPUX's cpio  (which  stores  device  files  differ‐\nently).\n",
                    "flag": "-H",
                    "long": "--format",
                    "arg": "_"
                },
                {
                    "name": "-R --owner=",
                    "content": "In copy-in and copy-pass mode, set the ownership of all files created to the specified\nUSER  and/or  GROUP.   In  copy-out  mode, store the supplied owner information in the\narchive.\n\nUSER and GROUP are first looked up in the system user and  group  databases.   If  not\nfound,  cpio  checks if they consist of decimal digits only and, if so, treats them as\nnumeric UID and GID, correspondingly.\n\nTo avoid the lookup and ensure that arguments are treated as  numeric  values,  prefix\nthem with a plus sign, e.g.: -R +0:+0.\n",
                    "flag": "-R"
                },
                {
                    "name": "--quiet",
                    "content": "Do not print the number of blocks copied at the end of the run.\n\n--rsh-command=COMMAND\nUse remote COMMAND instead of rsh.\n",
                    "long": "--quiet"
                },
                {
                    "name": "-v --verbose",
                    "content": "Verbosely list the files processed.\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "-V --dot",
                    "content": "Print a \".\" for each file processed.\n",
                    "flag": "-V",
                    "long": "--dot"
                },
                {
                    "name": "-W --warning=_",
                    "content": "Controls  what  warnings are displayed.  The FLAG is one of none, to disable all warn‐\nings, all to enable them, truncate, to enable warnings  about  field  truncation,  and\nno-truncate, to disable them.\n\nMultiple -W options accumulate.\n",
                    "flag": "-W",
                    "long": "--warning",
                    "arg": "_"
                },
                {
                    "name": "Operation modifiers valid in copy-in and copy-out modes",
                    "content": ""
                },
                {
                    "name": "-F --file=",
                    "content": "Use  this  ARCHIVE-FILE instead of standard input (in copy-in mode) or standard output\n(in copy-out mode).  Optional USER and HOST specify the user and host names in case of\na remote archive.\n",
                    "flag": "-F"
                },
                {
                    "name": "-M --message=_",
                    "content": "Print STRING when the end of a volume of the backup media is reached.\n",
                    "flag": "-M",
                    "long": "--message",
                    "arg": "_"
                },
                {
                    "name": "Operation modifiers valid only in copy-in mode",
                    "content": ""
                },
                {
                    "name": "-b --swap",
                    "content": "Swap both halfwords of words and bytes of halfwords in the data.  Equivalent to -sS.\n",
                    "flag": "-b",
                    "long": "--swap"
                },
                {
                    "name": "-f --nonmatching",
                    "content": "Only copy files that do not match any of the given patterns.\n",
                    "flag": "-f",
                    "long": "--nonmatching"
                },
                {
                    "name": "-n --numeric-uid-gid",
                    "content": "In the verbose table of contents listing, show numeric UID and GID.\n",
                    "flag": "-n",
                    "long": "--numeric-uid-gid"
                },
                {
                    "name": "-r --rename",
                    "content": "Interactively rename files.\n",
                    "flag": "-r",
                    "long": "--rename"
                },
                {
                    "name": "-s --swap-bytes",
                    "content": "Swap the bytes of each halfword in the files.\n",
                    "flag": "-s",
                    "long": "--swap-bytes"
                },
                {
                    "name": "-S --swap-halfwords",
                    "content": "Swap the halfwords of each word (4 bytes) in the files.\n",
                    "flag": "-S",
                    "long": "--swap-halfwords"
                },
                {
                    "name": "--to-stdout",
                    "content": "Extract files to standard output.\n",
                    "long": "--to-stdout"
                },
                {
                    "name": "-E --pattern-file=_",
                    "content": "Read additional patterns specifying filenames to extract or list from FILE.\n",
                    "flag": "-E",
                    "long": "--pattern-file",
                    "arg": "_"
                },
                {
                    "name": "--only-verify-crc",
                    "content": "When reading a CRC format archive, only verify the CRC's of each file in the  archive,\nwithout actually extracting the files.\n",
                    "long": "--only-verify-crc"
                },
                {
                    "name": "Operation modifiers valid only in copy-out mode",
                    "content": ""
                },
                {
                    "name": "-A --append",
                    "content": "Append to an existing archive.\n\n--device-independent, --reproducible\nCreate  reproducible archives.  This is equivalent to --ignore-devno --ignore-dirnlink\n--renumber-inodes.\n",
                    "flag": "-A",
                    "long": "--append"
                },
                {
                    "name": "--ignore-devno",
                    "content": "Store 0 in the device number field of each archive member, instead of the  actual  de‐\nvice number.\n",
                    "long": "--ignore-devno"
                },
                {
                    "name": "--ignore-dirnlink",
                    "content": "Store  2  in  the  nlink field of each directory archive member, instead of the actual\nnumber of links.\n",
                    "long": "--ignore-dirnlink"
                },
                {
                    "name": "-O",
                    "content": "Use ARCHIVE-NAME instead of standard output. Optional USER and HOST specify  the  user\nand host names in case of a remote archive.\n\nThe  output  archive  name  can  be  specified  either  using this option, or using -F\n(--file), but not both.\n",
                    "flag": "-O"
                },
                {
                    "name": "--renumber-inodes",
                    "content": "Renumber inodes when storing them in the archive.\n",
                    "long": "--renumber-inodes"
                },
                {
                    "name": "Operation modifiers valid only in copy-pass mode",
                    "content": ""
                },
                {
                    "name": "-l --link",
                    "content": "Link files instead of copying them, when possible.\n",
                    "flag": "-l",
                    "long": "--link"
                },
                {
                    "name": "Operation modifiers valid in copy-in and copy-out modes",
                    "content": ""
                },
                {
                    "name": "--absolute-filenames",
                    "content": "Do not strip file system prefix components from the file names.  This is the default.\n",
                    "long": "--absolute-filenames"
                },
                {
                    "name": "--no-absolute-filenames",
                    "content": "Create all files relative to the current directory.\n",
                    "long": "--no-absolute-filenames"
                },
                {
                    "name": "Operation modifiers valid in copy-out and copy-pass modes",
                    "content": ""
                },
                {
                    "name": "-0 --null",
                    "content": "Filenames in the list are delimited by null characters instead of newlines.\n",
                    "flag": "-0",
                    "long": "--null"
                },
                {
                    "name": "-a --reset-access-time",
                    "content": "Reset the access times of files after reading them.\n",
                    "flag": "-a",
                    "long": "--reset-access-time"
                },
                {
                    "name": "-I",
                    "content": "Use ARCHIVE-NAME instead of standard input. Optional USER and HOST  specify  the  user\nand host names in case of a remote archive.\n\nThe  input  archive  name  can  be  specified  either  using  this option, or using -F\n(--file), but not both.\n",
                    "flag": "-I"
                },
                {
                    "name": "-L --dereference",
                    "content": "Dereference symbolic links (copy the files that they point to instead of  copying  the\nlinks).\n",
                    "flag": "-L",
                    "long": "--dereference"
                },
                {
                    "name": "Operation modifiers valid in copy-in and copy-pass modes",
                    "content": ""
                },
                {
                    "name": "-d --make-directories",
                    "content": "Create leading directories where needed.\n",
                    "flag": "-d",
                    "long": "--make-directories"
                },
                {
                    "name": "-m --preserve-modification-time",
                    "content": "Retain previous file modification times when creating files.\n",
                    "flag": "-m",
                    "long": "--preserve-modification-time"
                },
                {
                    "name": "--no-preserve-owner",
                    "content": "Do not change the ownership of the files.\n",
                    "long": "--no-preserve-owner"
                },
                {
                    "name": "--sparse",
                    "content": "Write files with large blocks of zeros as sparse files.\n",
                    "long": "--sparse"
                },
                {
                    "name": "-u --unconditional",
                    "content": "Replace all files unconditionally.\n",
                    "flag": "-u",
                    "long": "--unconditional"
                }
            ]
        },
        "RETURN VALUE": {
            "content": "GNU  cpio  exits with code 0 if it was able to successfully complete the requested operation.\nOn errors, it exits with code 2.\n",
            "subsections": []
        },
        "BUG REPORTS": {
            "content": "Report bugs to <bug-cpio@gnu.org>.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright © 2014--2023 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.  There is NO WARRANTY,  to\nthe extent permitted by law.\n\nCPIO                                       April 29, 2023                                    CPIO(1)",
            "subsections": []
        }
    },
    "summary": "cpio - copy files to and from archives",
    "flags": [
        {
            "flag": "-B",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-H",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-C",
            "long": "--io-size",
            "arg": "_",
            "description": "Set the I/O block size to the given NUMBER of bytes."
        },
        {
            "flag": "-D",
            "long": "--directory",
            "arg": "_",
            "description": "Change to directory DIR."
        },
        {
            "flag": "",
            "long": "--force-local",
            "arg": null,
            "description": "Archive file is local, even if its name contains colons."
        },
        {
            "flag": "-H",
            "long": "--format",
            "arg": "_",
            "description": "Use given archive FORMAT. Valid formats are (the number in parentheses gives maximum size for individual archive member): bin The obsolete binary format. (2147483647 bytes) odc The old (POSIX.1) portable format. (8589934591 bytes) newc The new (SVR4) portable format, which supports file systems having more than 65536 inodes. (4294967295 bytes) crc The new (SVR4) portable format with a checksum added. tar The old tar format. (8589934591 bytes) ustar The POSIX.1 tar format. Also recognizes GNU tar archives, which are similar but not identical. (8589934591 bytes) hpbin The obsolete binary format used by HPUX's cpio (which stores device files dif‐ ferently). hpodc The portable format used by HPUX's cpio (which stores device files differ‐ ently)."
        },
        {
            "flag": "-R",
            "long": null,
            "arg": null,
            "description": "In copy-in and copy-pass mode, set the ownership of all files created to the specified USER and/or GROUP. In copy-out mode, store the supplied owner information in the archive. USER and GROUP are first looked up in the system user and group databases. If not found, cpio checks if they consist of decimal digits only and, if so, treats them as numeric UID and GID, correspondingly. To avoid the lookup and ensure that arguments are treated as numeric values, prefix them with a plus sign, e.g.: -R +0:+0."
        },
        {
            "flag": "",
            "long": "--quiet",
            "arg": null,
            "description": "Do not print the number of blocks copied at the end of the run. --rsh-command=COMMAND Use remote COMMAND instead of rsh."
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "Verbosely list the files processed."
        },
        {
            "flag": "-V",
            "long": "--dot",
            "arg": null,
            "description": "Print a \".\" for each file processed."
        },
        {
            "flag": "-W",
            "long": "--warning",
            "arg": "_",
            "description": "Controls what warnings are displayed. The FLAG is one of none, to disable all warn‐ ings, all to enable them, truncate, to enable warnings about field truncation, and no-truncate, to disable them. Multiple -W options accumulate."
        },
        {
            "flag": "-F",
            "long": null,
            "arg": null,
            "description": "Use this ARCHIVE-FILE instead of standard input (in copy-in mode) or standard output (in copy-out mode). Optional USER and HOST specify the user and host names in case of a remote archive."
        },
        {
            "flag": "-M",
            "long": "--message",
            "arg": "_",
            "description": "Print STRING when the end of a volume of the backup media is reached."
        },
        {
            "flag": "-b",
            "long": "--swap",
            "arg": null,
            "description": "Swap both halfwords of words and bytes of halfwords in the data. Equivalent to -sS."
        },
        {
            "flag": "-f",
            "long": "--nonmatching",
            "arg": null,
            "description": "Only copy files that do not match any of the given patterns."
        },
        {
            "flag": "-n",
            "long": "--numeric-uid-gid",
            "arg": null,
            "description": "In the verbose table of contents listing, show numeric UID and GID."
        },
        {
            "flag": "-r",
            "long": "--rename",
            "arg": null,
            "description": "Interactively rename files."
        },
        {
            "flag": "-s",
            "long": "--swap-bytes",
            "arg": null,
            "description": "Swap the bytes of each halfword in the files."
        },
        {
            "flag": "-S",
            "long": "--swap-halfwords",
            "arg": null,
            "description": "Swap the halfwords of each word (4 bytes) in the files."
        },
        {
            "flag": "",
            "long": "--to-stdout",
            "arg": null,
            "description": "Extract files to standard output."
        },
        {
            "flag": "-E",
            "long": "--pattern-file",
            "arg": "_",
            "description": "Read additional patterns specifying filenames to extract or list from FILE."
        },
        {
            "flag": "",
            "long": "--only-verify-crc",
            "arg": null,
            "description": "When reading a CRC format archive, only verify the CRC's of each file in the archive, without actually extracting the files."
        },
        {
            "flag": "-A",
            "long": "--append",
            "arg": null,
            "description": "Append to an existing archive. --device-independent, --reproducible Create reproducible archives. This is equivalent to --ignore-devno --ignore-dirnlink --renumber-inodes."
        },
        {
            "flag": "",
            "long": "--ignore-devno",
            "arg": null,
            "description": "Store 0 in the device number field of each archive member, instead of the actual de‐ vice number."
        },
        {
            "flag": "",
            "long": "--ignore-dirnlink",
            "arg": null,
            "description": "Store 2 in the nlink field of each directory archive member, instead of the actual number of links."
        },
        {
            "flag": "-O",
            "long": null,
            "arg": null,
            "description": "Use ARCHIVE-NAME instead of standard output. Optional USER and HOST specify the user and host names in case of a remote archive. The output archive name can be specified either using this option, or using -F (--file), but not both."
        },
        {
            "flag": "",
            "long": "--renumber-inodes",
            "arg": null,
            "description": "Renumber inodes when storing them in the archive."
        },
        {
            "flag": "-l",
            "long": "--link",
            "arg": null,
            "description": "Link files instead of copying them, when possible."
        },
        {
            "flag": "",
            "long": "--absolute-filenames",
            "arg": null,
            "description": "Do not strip file system prefix components from the file names. This is the default."
        },
        {
            "flag": "",
            "long": "--no-absolute-filenames",
            "arg": null,
            "description": "Create all files relative to the current directory."
        },
        {
            "flag": "-0",
            "long": "--null",
            "arg": null,
            "description": "Filenames in the list are delimited by null characters instead of newlines."
        },
        {
            "flag": "-a",
            "long": "--reset-access-time",
            "arg": null,
            "description": "Reset the access times of files after reading them."
        },
        {
            "flag": "-I",
            "long": null,
            "arg": null,
            "description": "Use ARCHIVE-NAME instead of standard input. Optional USER and HOST specify the user and host names in case of a remote archive. The input archive name can be specified either using this option, or using -F (--file), but not both."
        },
        {
            "flag": "-L",
            "long": "--dereference",
            "arg": null,
            "description": "Dereference symbolic links (copy the files that they point to instead of copying the links)."
        },
        {
            "flag": "-d",
            "long": "--make-directories",
            "arg": null,
            "description": "Create leading directories where needed."
        },
        {
            "flag": "-m",
            "long": "--preserve-modification-time",
            "arg": null,
            "description": "Retain previous file modification times when creating files."
        },
        {
            "flag": "",
            "long": "--no-preserve-owner",
            "arg": null,
            "description": "Do not change the ownership of the files."
        },
        {
            "flag": "",
            "long": "--sparse",
            "arg": null,
            "description": "Write files with large blocks of zeros as sparse files."
        },
        {
            "flag": "-u",
            "long": "--unconditional",
            "arg": null,
            "description": "Replace all files unconditionally."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "cpio",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/cpio/5/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Copy files in and out of archives.",
        "examples": [
            {
                "description": "Take a list of file names from `stdin` and add them onto an archive (copy-[o]ut) in cpio's binary forma",
                "command": "echo \"{{path/to/file1 path/to/file2 ...}}\" | cpio {{-o|--create}} > {{archive.cpio}}"
            },
            {
                "description": "Copy all files and directories in a directory and add them onto an archive (copy-[o]ut), in verbose mode",
                "command": "find {{path/to/directory}} | cpio {{-ov|--create --verbose}} > {{archive.cpio}}"
            },
            {
                "description": "Pick all files from an archive (copy-[i]n), generating directories where needed, in verbose mode",
                "command": "cpio < {{archive.cpio}} {{-idv|--extract --make-directories --verbose}}"
            }
        ]
    }
}