Cpio
From Wikipedia, the free encyclopedia
- The correct title of this article is cpio. The initial letter is shown capitalized due to technical restrictions.
cpio is both the name of a binary utility, and a form of digital archive.
Contents |
[edit] cpio archive
A cpio archive is a stream of files and directories in a single archive, and often ends with a .cpio file extension. The archive has header information that allows for an application such as the GNU cpio tool to extract the files and directories into a file system. The header of a cpio archive also contains information such as the file name, time stamp, owner and permissions.
The cpio archive is similar in function to that of a tar archive, and was designed to store backups onto a tape device in a contiguous manner.
[edit] POSIX and cpio
The cpio utility was standardized in POSIX.1-1988. It was dropped from later revisions, starting with POSIX.1-2001 due to its 8GB filesize limit. The POSIX standardized pax utility can be used to read and write cpio archives instead.
[edit] GNU cpio
The GNU cpio application is a common tool that can be used to put information into a cpio or tar archive. The cpio application is free software, and is available from the GNU web site.
[edit] Example use
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
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.
% find . -depth -print0 | cpio --null -pvd new-dir
To extract files from a cpio archive, pass the archive to cpio as its standard input.
% cpio -id < cpiofile
The -i flag indicates that cpio is reading in the archive to extract files, and the -d flag tells cpio to construct directories as necessary. You can also use the -v flag to have file names listed as files are extracted.
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. The following example extracts etc/fstab from the archive (the format of the archive contents should be verified with cpio -l first to verify how path is stored) :
% cpio -id etc/fstab < cpiofile
[edit] See also
[edit] External links
History: GNU Manifesto • GNU Project • Free Software Foundation (FSF)
GNU licenses: GNU General Public License (GPL) • GNU Lesser General Public License (LGPL) • GNU Free Documentation License (FDL)
Software: GNU operating system • bash • GNU Compiler Collection • Emacs • GNU C Library • Coreutils • GNU build system • other GNU packages and programs
Speakers: Robert J. Chassell • Loïc Dachary • Ricardo Galli • Georg C. F. Greve • Federico Heinz • Bradley M. Kuhn • Eben Moglen • Richard Stallman • Len Tower