cpio
拡 trương tử | .cpio |
---|---|
MIMEタイプ | application/x-cpio |
UTI | public.cpio-archive |
Loại đừng | ファイルアーカイバ |
cpioは,ファイルアーカイバ・ユーティリティ cũng びにそ の アーカイバで sử われるファイルフォーマットである. Chủ にUnix hệオペレーティングシステムにインストールされることが nhiều い. cpioは lúc trước, "Programmer's Workbench" (PWB/UNIX) phó thuộc の テープメディア・アーカイブ・プログラムとして thiết kế され, そ の sau リリースされたUnix hệ OS の ほとんど toàn てにコンポーネントとして hàm まれている. コマンド の tên はcopy in and out[1](Nhập lực phục chế と xuất lực phục chế,コピー・インとコピー・アウト ) という ngôn い hồi しに ngọn nguồn し, cpioが động tác trung にTiêu chuẩn nhập xuất lực( standard I/O ) を lợi dụng する dạng tử を miêu tả している.
Toàn て のUNIXならびにそ の đẻ ra は, cpioよりよく biết られておりResearch Unixに ngọn nguồn するtarの ようなそ の hắn の バックアップ・プログラム, アーカイブ・プログラムもサポートしている[2].cpioはRPM Package Manager( rpm ) パッケージ の アーカイブ hình thức として lợi dụng されたり,Linuxカーネル2.6 hệ liệt のKhởi vận dụng RAMイメージに sử われるアーカイブ hình thức としてArch Linuxの mkinitcpio [3]やDebianの initramfs-tools [4]で lợi dụng されたり,Appleのpaxインストーラで sử われるアーカイブフォーマットとして chọn dùng されるなど, một bộ では vẫn như cũ quan trọng な vị trí を chiếm めている.
オラクルはかつて cùng xã の ソフトウェア の hơn phân nửa をcpioフォーマット の アーカイブで ban bố していたこともある.
Lúc trước の プログラム thiết kế により, cpioとそ の アーカイブ・ファイル・フォーマットは gì độ もSĩ dạng変 càng されており, khi に trao đổi tính の vô い変 càng も thêm えられてしまっている. Nhất も nổi danh な sĩ dạng sửa 変は, アーカイブ・ファイル の メタ tình báo がバイナリ・フォーマットからASCIIベース biểu hiện (char) に変わったことである ( ただし thao tác dùng オプション ( --format ) で thiết り thế えることで lạng フォーマットに đối ứng しているThật trangもある ).
Thao tác とアーカイブ・フォーマット
[Biên tập]cpioはテープ・デバイス thượng で liền 続 にバックアップ・ファイル・アーカイブを bảo tồn できるよう thiết kế されているが, tarと cùng じくアーカイブ・コンテンツ の áp súc は hành わない. こ の ため thích hợpgzipやそ の hắn phần ngoài áp súc プログラムを lợi dụng して, cpioから sinh thành されたアーカイブに áp súc を quải ける ( こ の khi,.cpgz
または.cpio.gz
という拡 trương tử をファイル danh の cuối cùng に phó す trường hợp がある ).
アーカイブ の tác thành
[Biên tập]cpioを-oコマンドライン・フラグと cộng に khởi động しコピーアウト(copy-out) ・オペレーション・モードでアーカイブを tác thành する trường hợp, tiêu chuẩn nhập lực を thông してファイル/ディレクトリ・パス danh を đọc み lấy り, tiêu chuẩn xuất lực にバイト・ストリームとしてアーカイブを thư き ra す. こ の ため, cpioはfindプログラム の ようなアーカイブ đối tượng ファイル の một lãm を sinh thành する hắn の ユーティリティと đồng thời に lợi dụng する の が giống nhau である. Dưới の コマンドを thật hành すると, findコマンドを lợi dụng しカレント・ディレクトリ の toàn ファイル の リストを tiêu chuẩn xuất lực kinh từ でcpioに độ し, cpioはディレクトリ・ツリーごと hoàn toàn にアーカイブする ( こ の コマンド thật hành trung, cpioはユーザにプロンプトを phản すことなく thẳng ちに処 lý を thật hành する. Dưới cùng dạng ).
$find.-depth-print|cpio-o>archive.cpio
cpioが sinh thành するアーカイブはファイルとディレクトリ の ストリームを liền 続 に単 một の アーカイブに thâu めたも の である. アーカイブはファイルメタ tình báo を hàm むヘッダ・セクション mỗi にデータを chia lìa できる. そ の ようなファイルメタ tình báo とは, ファイル danh,inodePhiên hiệu, ファイル sở hữu giả,パーミッションそしてタイムスタンプである. cpioはアーカイブ の ヘッダ tình báo に従いファイルやディレクトリをファイルシステムThượng に triển khai する ( オプションで làm lơ することもできる ). Thói quen に, cpioアーカイブはしばしば拡 trương tử.cpio
をアーカイブ・ファイル danh の cuối cùng に cầm つ.
Triển khai
[Biên tập]cpioは,-iオプションを phó してコピーイン(copy-in) モードで khởi động した trường hợp, tiêu chuẩn nhập lực からアーカイブを đọc み lấy り, ファイルシステム thượng にアーカイブ tế みファイルを tái sinh thành する. Thứ に kỳ すコマンド lệ を thật hành するとそ の dạng tử が nắm chắc できる.
$cpio-id<archive.cpio
Thượng nhớ の-dフラグはcpioに tất yếu に ứng じて ( すなわち, tồn tại しなければ ) ディレクトリを tác thành するよう chỉ thị する. また rút ra されたファイル danh を xuất lực する-vフラグもある.
オプションを trừ く hắn toàn て の コマンドライン dẫn số にはシェルライクなグロブパターンが lợi dụng できる. 1つかそれ trở lên の パターンにマッチするファイル danh を cầm つファイル の みをアーカイブから lấy り ra しコピーできる. Thứ の lệ は, アーカイブから "etc/fstab"というパターンにマッチするファイル danh を cầm つも の を lấy り ra す.
$cpio-idetc/fstab<archive.cpio
リスト
[Biên tập]Triển khai trước にcpioアーカイブ nội に hàm まれるファイル の một lãm を xuất lực するには,
$cpio-it<archive.cpio
cpioアーカイブはファイルが tương đối パスだけではなく tuyệt đối パスで cách nạp される ( lệ えば, /bin/ls vs. bin/ls ) trường hợp がある の で, trước đó にファイル một lãm をチェックすることは hữu dụng である.
コピー
[Biên tập]cpioは-pオプションを phó すことで, đệ 3 のファイルコピーThao tác モードであるコピーパス ( コピースルー ) モードで khởi động する. こ の モードは thật tế にファイルにアーカイブすることなくコピーアウト, コピーイン・ステップを tổ み hợp わせ, あるディレクトリ・ツリーからファイルをコピーすることを khả năng にする. こ の モードでは, cpioはコピーアウト・モード cùng dạng, tiêu chuẩn nhập lực thượng でパス danh を đọc み lấy るが, アーカイブを tác thành せず đại わりにコマンドライン dẫn số の một bộ として cùng えられたパスに tương đương するファイルシステム thượng の đừng の ディレクトリにディレクトリ cũng びにファイルを tái sinh thành する.
Thứ の コマンド lệ は, カレント・ディレクトリを khởi điểm にファイルシステム thượng の đừng の ディレクトリ ( ディレクトリ・パスは new-path ) にカレント・ディレクトリ・ツリーごとコピーし, ファイル・パーミッションを bảo tồn ( -m ), tất yếu に ứng じてディレクトリを tác thành ( -d ), ユーザにプロンプトすることなく vô điều kiện で tồn tại するファイルを thượng thư き ( -u ) し, そして tiêu chuẩn xuất lực に処 lý tế ファイル の một lãm を xuất lực する ( -v ). cpioは tiêu chuẩn nhập lực からはコピー nguyên であるカレント・ディレクトリ・ツリー の toàn ファイル の パス danh リストを đọc み込んでいる.
$find.-depth-print|cpio-pdumvnew-path
POSIX tiêu chuẩn
[Biên tập]cpio hình thứcはPOSIX.1-1988にてChuẩn hoáされているが, cpioユーティリティ tự thể は chuẩn hoá されていない. POSIX tiêu chuẩn ではcpioユーティリティ の thay thế ソフトウェアとしてpaxユーティリティがcpioアーカイブ の đọc み thư きに lợi dụng khả năng と quy định されている.
Thật trang
[Biên tập]ほぼ toàn て のLinuxディストリビューションはGNUプロジェクトBản の cpioを cung cấp している[5].FreeBSDとmacOSではBSDライセンスHạ にあるcpioとlibarchive[6]ライブラリを lợi dụng している.
Chú thích
[Biên tập]- ^ “System Administration Guide: Devices and File Systems”.download.oracle.2011 năm ngày 5 tháng 11Duyệt lãm. “You can use the cpio (copy in and out) command to copy individual files,[...]”
- ^Peek, J; O'Reilly, T; Loukides, M. (1997).Unix Power Tools.p. 38.13. O'Reilly & Associates, Inc.ISBN 1-56592-260-3.
- ^“mkinitcpio is the next generation of initramfs creation. - ArchWiki”.Arch Linux(2011 năm ngày 3 tháng 11 ).2011 năm ngày 5 tháng 11Duyệt lãm.
- ^ “initramfs-tools”.Debian(2011 năm ngày 27 tháng 2 ).2011 năm ngày 28 tháng 5Duyệt lãm.
- ^ “Cpio”.GNUプロジェクト(2011 năm ngày 10 tháng 3 ).2011 năm ngày 28 tháng 5Duyệt lãm.
- ^ “libarchive - C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats”.code.google.2011 năm ngày 28 tháng 5Duyệt lãm.