Cpio
cpioはRPM Package Manager(rpm)パッケージのアーカイブ形式として利用されたり、Linuxカーネル2.6系列の起動用RAMイメージに使われるアーカイブ形式としてArch Linuxのmkinitcpio やDebianのinitramfs-tools で利用されたり、Appleのpaxインストーラで使われるアーカイブフォーマットとして採用されるなど、一部では依然重要な位置を占めている。
オラクルはかつて同社のソフトウェアの大半をcpioフォーマットのアーカイブで頒布していたこともある。
当初のプログラム設計により、cpioとそのアーカイブ・ファイル・フォーマットは何度も仕様変更されており、時に互換性の無い変更も加えられてしまっている。最も有名な仕様改変は、アーカイブ・ファイルのメタ情報がバイナリ・フォーマットからASCIIベース表現(char)に変わったことである(ただし操作用オプション(--format)で切り替えることで両フォーマットに対応している実装もある)。
cpioを-oコマンドライン・フラグと共に起動しコピーアウト(copy-out)・オペレーション・モードでアーカイブを作成する場合、標準入力を通してファイル/ディレクトリ・パス名を読み取り、標準出力にバイト・ストリームとしてアーカイブを書き出す。このため、cpioはfindプログラムのようなアーカイブ対象ファイルの一覧を生成する他のユーティリティと同時に利用するのが一般的である。以下のコマンドを実行すると、findコマンドを利用しカレント・ディレクトリの全ファイルのリストを標準出力経由でcpioに渡し、cpioはディレクトリ・ツリーごと完全にアーカイブする(このコマンド実行中、cpioはユーザにプロンプトを返すことなく直ちに処理を実行する。以下同様)。
cpioが生成するアーカイブはファイルとディレクトリのストリームを連続的に単一のアーカイブに収めたものである。アーカイブはファイルメタ情報を含むヘッダ・セクション毎にデータを分離できる。そのようなファイルメタ情報とは、ファイル名、inode番号、ファイル所有者、パーミッションそしてタイムスタンプである。cpioはアーカイブのヘッダ情報に従いファイルやディレクトリをファイルシステム上に展開する(オプションで無視することもできる)。慣習的に、cpioアーカイブはしばしば拡張子.cpioをアーカイブ・ファイル名の末尾に持つ。