CPIO ファイル形式
概要
CPIO(コピー・イン・アウト)は、主にユニックスのようなオペレーティングシステムで使用されるファイルアーカイブユーティリティです。ファイルやディレクトリを簡単に転送またはバックアップできるファイル形式に保存するように設計されています. より広く知られているTAR形式とは異なり、CPIOファイルは通常不圧縮され、読みやすくなりますが、ZIPのようなコンプレッシャーされたフォーマットに比べてサイズが大きいです.
開発者は、許可、所有権、およびタイムスタンプを失わずにシステム間のファイル階層を転送するためにCPIOを使用し、これらの特性の保存が重要である環境では特に役立ちます.
主な特徴
- Uncompressed Format: 圧縮されたフォーマットに比べて読み書き速度が速くなります.
- メタデータを保存する:ファイルの許可、所有権、およびタイムスタンプを正確に保存します.
- バイナリーヘッダー: ASCII と二重ヘッドの両方をサポートし、さまざまな環境で柔軟性を提供します.
- Cross-platform Compatibility:Unixのようなシステムで動作するが、非先住民のプラットフォームで特定のツールや図書館を必要とする.
- 標準化された構造:さまざまなユーティリティとの互換性を確保するよく定義された基準に従う.
技術規格
フォーマット構造
CPIOアーカイブは、ファイルデータに続く一連のタイトルを含むバイナリーファイルです。各ヘッダーはファイル内の関連ファイルコンテンツの属性と位置を説明します。構造は効率的な読み書きのために設計されており、高性能環境に適しています.
コアコンポーネント
- タイトル:アーカイブの各ファイルまたはディレクトリの入力に関するメタデータを含みます.
- ファイルデータ:バイナリーデータとして保存されているファイルの現在のコンテンツ.
- トレイラーヘッダー:アーカイブの終わりを「TRAILER!!」と名付けられた特別なタイトルでマークします!!".
標準と互換性
CPIOはPOSIXの基準に従い、ユニックスのようなさまざまなシステムで互換性を確保しますが、その二重性質と圧縮の欠如により、追加の図書館やツールなしで非ユニックプラットフォームで普遍的にサポートされることはありません.
歴史&進化
CPIO フォーマットは、システム間のファイル転送を容易にするためにユニックスの初期に導入され、時間の経過とともに、拡張属性や象徴的なリンクなどのより複雑なメタデータ要件をサポートするために進化しました.
CPIOファイルで働く
CPIOファイルの開設
ユニックスのようなシステムでCPIOアーカイブを開くには cpio
コマンドまたはMidnight Commander(mc)のようなグラフィックツール。Windowsでは、7ZipのようなソフトウェアはCPIOファイルを処理することができますが、追加の構成が必要になる可能性があります.
CPIOファイルの変換
CPIOアーカイブを変換することは、通常、コンテンツを抽出し、その後、TARやZIPのような別のフォーマットに再パッケージ化することを意味します。一般的なシナリオには、CPIOの原住民サポートが制限されているウィンドウ環境へのUnixシステムからの移行が含まれます cpio
命令に従う tar
あるいは圧縮用品.
CPIOファイルの作成
新しいCPIOアーカイブを作成することは、Unixのようなシステムで簡単にできます cpio
コマンド:例えば、あなたは使用することができます:
find . -print | cpio --create --format=newc > myarchive.cpio
このコマンドは、現在のディレクトリのすべてのファイルやドキュメントを検索し、「myarchive.cpio」と呼ばれる新しいCPIOアーカイブを作成します".
一般的な使用例
- システムバックアップ:正確なファイル属性でシステム状態を維持します.
- ソフトウェア配布:特定の許可および所有権を必要とするプログラムパッケージを配信する.
- ファイル転送:Unixのようなシステムの間で大きなデータセットを移動し、メタデータの完全性を維持します.
利点&制限
優位性:
- スピード:未圧縮フォーマットでは、コンプレッシャーされた形式に比べて読み書き作業が速くなります.
- メタデータ保存:許可やタイムスタンプなどのファイル属性の正確な保存を確保します.
- Cross-platform Support: Unix のようなシステムで幅広くサポートされ、システムレベルのタスクに最適です.
限界:
- サイズ不十分性:圧縮の欠如によりファイルサイズが大きくなります.
- 限られた互換性:追加のツールや図書館なしで非Unixプラットフォームでのサポートが少なくなります.
開発者資源
CPIOファイルのプログラミングは、さまざまなAPIや図書館を通じてサポートされます. コードの例と実施ガイドはすぐに追加されます.
よくある質問
**Q:どのようにCPIOアーカイブを抽出しますか?**A:使用する cpio
ユニックスのようなシステムのコマンド:
cat myarchive.cpio | cpio --extract
**Q: CPIO ファイルを TAR に変換できますか?**A:はい、このようなコマンドを使用することができます:
cpio -idmv < myarchive.cpio | tar cvf newfile.tar -
**Q: Windows で CPIO ファイルを使用するためのツールは何ですか?**A: 7-Zip や WinRAR のようなツールは CPIO ファイルを処理することができますが、バイナリー ヘッダーを読むには追加の構成が必要かもしれません.