aboutsummaryrefslogtreecommitdiff
path: root/ja/man/man1/cpio.1
blob: 1fb6821fb49cee4e45bc59ca8b3a4ba09217dc9c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
.TH CPIO 1L \" -*- nroff -*-
.\" jpman %Id: cpio.1,v 1.2 1997/05/22 04:01:20 bobson Stab %
.SH 名称
cpio \- アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう
.SH 書式
.B cpio
{\-o|\-\-create} [\-0acvABLV] [\-C bytes] [\-H format] [\-M message]
[\-O [[user@]host:]archive] [\-F [[user@]host:]archive]
[\-\-file=[[user@]host:]archive] [\-\-format=format] [\-\-message=message]
[\-\-null] [\-\-reset-access-time] [\-\-verbose] [\-\-dot] [\-\-append]
[\-\-block-size=blocks] [\-\-dereference] [\-\-io-size=bytes] [\-\-quiet]
[\-\-force\-local] [\-\-help] [\-\-version] < name-list [> archive]

.B cpio
{\-i|\-\-extract} [\-bcdfmnrtsuvBSV] [\-C bytes] [\-E file] [\-H format]
[\-M message] [\-R [user][:.][group]] [\-I [[user@]host:]archive]
[\-F [[user@]host:]archive] [\-\-file=[[user@]host:]archive]
[\-\-make-directories] [\-\-nonmatching] [\-\-preserve-modification-time]
[\-\-numeric-uid-gid] [\-\-rename] [\-\-list] [\-\-swap-bytes] [\-\-swap] [\-\-dot]
[\-\-unconditional] [\-\-verbose] [\-\-block-size=blocks] [\-\-swap-halfwords]
[\-\-io-size=bytes] [\-\-pattern-file=file] [\-\-format=format]
[\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message]
[\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc]
[\-\-quiet] [\-\-help] [\-\-version] [pattern...] [< archive]

.B cpio
{\-p|\-\-pass-through} [\-0adlmuvLV] [\-R [user][:.][group]]
[\-\-null] [\-\-reset-access-time] [\-\-make-directories] [\-\-link] [\-\-quiet]
[\-\-preserve-modification-time] [\-\-unconditional] [\-\-verbose] [\-\-dot]
[\-\-dereference] [\-\-owner=[user][:.][group]] [\-\-no-preserve-owner]
[\-\-sparse] [\-\-help] [\-\-version] destination-directory < name-list
.SH 解説
このマニュアルは、GNU 版の
.BR cpio
について説明します。
.B cpio
は、cpio 形式もしくは tar 形式のアーカイブファイルに格納されたファイルを
取り出したり、その逆を行なったりします。アーカイブファイルとは、格納される
ファイルそのものに加え、それら個々のファイルについてのファイル名や所有者、
タイムスタンプ、アクセス権限のような情報を含むようなファイルです。
アーカイブファイルは、ディスク上のファイルでも、
磁気テープ上に格納してあるファイルでも、もしくはパイプであっても構いません。
.B cpio
は、3つの操作モードを持っています。
.PP
コピーアウトモードでは、
.B cpio
はファイルをアーカイブファイルにコピーします。cpio は、標準入力から
ファイル名のリストを1行ずつ読み込み、標準出力にそのファイルのアーカイブを
書き出します。ファイルリストの作成には、
.B find
コマンドが多く使われます。
.B find
コマンドでは、\-d オプションを付加して、ディレクトリの属性によって
読み込み不可であったり、検索が出来なかったりする問題を最小限に抑えるように
して下さい。
.PP
コピーインモードでは、
.B cpio
はファイルをアーカイブファイルからファイルを(取り出して)コピーしたり、
アーカイブの内容のリストを表示したりします。
cpioは、アーカイブを標準入力から読み込みます。オプションでない
コマンドラインの引数は、すべてシェルによって展開される文字列として
解釈されます。これにより、アーカイブ内のファイル名が、この文字列によって
指定されるパターンにマッチするファイルのみを展開することができます。
また、シェルでの解釈とは違い、ファイル名の先頭に`.'を含むファイル名は、
取り出すファイルとして指定したパターンの最初にワイルドカードを含む場合、
パターンが一致します。また、ファイル名に `/'を含むファイル名も
ワイルドカードによって一致します。パターンが指定されない場合には、
全てのファイルが展開対象となります。
.PP
コピーパスモードでは、
.B cpio
はファイルをあるディレクトリから別のディレクトリにコピーします。実際には、
アーカイブファイルを用いないで、コピーアウトモードとコピーインモードを
組み合わせて実行するような形になります。cpio は、コピーするファイルリストを
標準入力から読み込みます。これらのファイルのコピー先のディレクトリについては、
オプション以外の引数で与えられます。
.PP
.B cpio
は、
binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar,
POSIX.1 tar の各形式のアーカイブフォーマットをサポートします。
binary フォーマットは、異なるマシンアーキテクチャ間では互換性のない方法で、
ファイルの情報をエンコードするので、ほとんど使われません
(つまり、binary フォーマットは、異なるマシンアーキテクチャ間で、
互換性のないアーカイブを生成するので、あまり使われないということです)。
old ASCII フォーマットは、異なるマシンアーキテクチャの間での互換性は
保たれますが、65536 個を超える i-nodes を備えるシステムで使われることを
想定してません。
new ASCII フォーマットは、異なるマシンアーキテクチャの間でのアーカイブの
互換性は保たれます。old ASCII フォーマットのように、ファイルシステムの
サイズの制限はありませんが、全てのバージョンの
.BR cpio
でこの形式をサポートするわけではありません。現状でこのフォーマットを
サポートする cpio は、GNU cpio と、Unix System V R4 の cpio のみです。
crcフォーマットは、new ASCIIフォーマットと似てますが、アーカイブ作成時に
.B cpio 
が各ファイルについてチェックサムを計算し、アーカイブ内に含めるところが
異なります。このチェックサムは、アーカイブからファイルを取り出す時の
ベリファイに使用されます。
HPUX フォーマットは、デバイスファイルを格納する形式が他の cpio と異なる
HPUX の cpio 形式との互換性を持たせるために存在します。
.PP
tarフォーマットは、
.B tar
との互換性を持たせるために存在します。tar フォーマットでは、アーカイブされる
ファイル名としては、100 文字を超えるものは使えません。また、
スペシャルファイル(ブロックデバイスややキャラクタデバイス)をアーカイブする
こともできません。
POSIX.1 tar フォーマットは、アーカイブされるファイル名としては、255 文字を
超えるものは使えません。(ちょうどその場所に、"/"が含まれる場合は除きます)。
.PP
デフォルトでは、
.B cpio
は古い
.B cpio
との互換性を保つためにバイナリフォーマットアーカイブを作成します。
アーカイブを展開する場合には、
.B cpio
は自動的に読み込まれたアーカイブの種類を認識するので、異なるバイトオーダの
マシンで作成されたアーカイブを読むことができます。
.PP
.B cpio
のオプションには、操作モードを指定するものもあります。
どのオプションがどのモードに対応するかについては、
書式のセクションを見て下さい。
.SS オプション
.TP
.I "\-0, \-\-null"
コピーアウトおよびコピーパスモードにおいて、改行のかわりにヌル文字で終了する
ファイル名のリストを読み込みます。これにより、改行を含むファイル名を持つ
ファイルをアーカイブできます。
GNU
.B find
を使うことで、ヌル文字で終了するファイル名のリストを生成することができます。
.TP
.I "\-a, \-\-reset-access-time"
ファイルを読み込んだ後に、それらのファイルのアクセスタイムの再設定を
行ないます。これは、これらのファイルがその時点で読み込まれたもののように
見えないようにするためです。
.TP
.I "\-A, \-\-append"
すでに存在するアーカイブファイルに追加書き込みをします。
このオプションはコピーアウトモードでのみ使用することができます。
このオプションを使うためには、アーカイブファイルが、
.I \-O
または、
.I "\-F (\-\-file)"
オプションで指定した名前のディスク上の(アーカイブ)ファイルで
なければなりません。
.TP
.I "\-b, \-\-swap"
コピーインモードにおいて、データ中の1ワード(32 ビット)データの上下 16 ビット
を入れ換え、1 ハーフワード(16 ビット)の上下 8 ビットを入れ換えます。本オプショ
ンは、
.IR "\-sS"
と同等です。
このオプションは、ビッグエンディアンマシンとリトルエンディアンのマシンの間で
32ビット整数を変換するために用います。
.TP
.I "\-B"
I/O ブロックサイズを 5120 バイトに設定します。ブロックサイズの初期値は 512
バイトです。
.TP
.I "\-\-block-size=BLOCK-SIZE"
I/Oブロックサイズを BLOCK-SIZE * 512 バイトに設定します。
.TP
.I "\-c"
アーカイブ形式として、old ASCII フォーマット
(つまり古い互換アーカイブフォーマット)を用います。
.TP
.I "\-C IO-SIZE, \-\-io-size=IO-SIZE"
I/O ブロックサイズを IO-SIZE で指定したバイト数に設定します。
.TP
.I "\-d, \-\-make-directories"
必要に応じてディレクトリを作成します。
.TP
.I "\-E FILE, \-\-pattern-file=FILE"
コピーインモードにおいて、ファイル名 FILE から展開したり、ファイルリストを
表示したりするために、ファイル名を特定するパターン指定を読み込みます。
ファイル名 FILE で特定できるファイルに記述された各行は、
.B cpio
のオプション以外の文字列で指定されたもののように扱われます。
.TP
.I "\-f, \-\-nonmatching"
与えられたパターンのいずれにも一致しないファイルのみ扱います。
.TP
.I "\-F, \-\-file=archive"
標準入力もしくは標準出力のかわりに、指定されたアーカイブファイルを
用います。他のマシンのテープドライブをアーカイブファイルとして扱う
場合には、 `HOSTNAME:'で始まるファイル名を使用して下さい。
ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために
ユーザネームと '@'を先に書いても構いません(典型的には、そのユーザの
`~/.rhosts'エントリにエントリが存在するマシンであることが多いようです)。
.TP
.I "\-\-force-local"
With
.IR \-F 、
.IR \-I 、
もしくは
.IR \-O 
オプションを用いた場合に、コロン文字を含むファイル名をローカルファイル名と
みなして扱います。通常、コロン文字は、リモートホスト名とその上の
ローカルファイル名を区切る場合に使用されます。
.TP
.I "\-H FORMAT, \-\-format=FORMAT"
アーカイブフォーマットとして、FORMATのものを用います。
FORMAT の部分に指定できる文字列を以下に示します。
これらの名前は、すべて大文字の場合でも認識されます。
コピーインモードでのデフォルトは、入力ファイルの内容から
自動的にアーカイブフォーマットを判定するもので、コピーアウトモードでは、
"bin"フォーマットがデフォルトです。
.RS
.IP bin
binaryフォーマットです。ほとんど使われません。
.IP odc
old ASCII (POSIX.1 互換)フォーマットです。
.IP newc
new ASCII(SVR4 互換)フォーマットです。
new ASCII フォーマットは、65536 個を超える i-nodes を備える
ファイルシステムをサポートします。
.IP crc
crc フォーマットです。crcフォーマットは、new ASCII フォーマットと似ていますが、
チェックサムを含みます。
.IP tar
old tar フォーマットです。
.IP ustar
POSIX.1 tar フォーマットです。GNU
.B tar
アーカイブも取り扱うことができます。POSIX.1 tar と GNU tar は、
よく似ていますが、同じではありません。
.IP hpbin
HPUXの cpio で使用されている、あまり使われない binary フォーマットです。
(他の cpio とは異なる形式で、デバイスファイルを保存します)。
.IP hpodc
HPUX の cpio で使用されている互換フォーマットです(他のcpioとは異
なる形式で、デバイスファイルを保存します)。
.RE
.TP
.I "\-i, \-\-extract"
コピーインモードで動作します。
.TP
.I "\-I archive"
標準入力のかわりに、指定されたアーカイブファイル名を用います。他のマシンの
テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'で始
まるファイル名を使用して下さい。
ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために
ユーザネームと '@'を先に書いても構いません(典型的には、そのユーザの
`~/.rhosts'エントリにエントリが存在するマシンであることが多いようです)。
.TP
.I \-k
無視されます。他のバージョンの
.BR cpio
との互換性を保つためにのみ存在します。
.TP
.I "\-l, \-\-link"
可能であれば、ファイルをコピーするかわりにリンクを張ります
(
.I \-p
オプションと共に指定するときのみ使用できます)。
.TP
.I "\-L, \-\-dereference"
シンボリックリンクを参照を利用しません。
シンボリックリンクファイルをコピーするかわりに、
シンボリックリンクファイルの指す実体のファイルをコピー
します。
.TP
.I "\-m, \-\-preserve-modification-time"
コピー先のファイル生成時に、コピー元のファイルの更新時刻を保持します。
.TP
.I "\-M MESSAGE, \-\-message=MESSAGE"
バックアップ媒体(テープやフロッピーディスクなど)のボリューム終端まで
到達した場合に、MESSAGEで指定された文字列を出力します。この指定をすることで、
ユーザに新しい媒体の挿入指示を出すことが可能になります。MESSAGE
で指定される文字列に"%d"が含まれる場合には、"%d"文字列は、現在の媒体通番
(1からはじまります)に置き換えられます。
.TP
.I "\-n, \-\-numeric-uid-gid"
冗長モードで内容のリストを出す場合に、UID および GID を、その ID の
対応するユーザ名 / グループ名でなく、数字で表示します。
.TP
.I " \-\-no-absolute-filenames"
コピーモードで、
アーカイブ中に絶対ファイル名で格納されていたとしても、
現在のディレクトリからの相対でファイルを生成します。
.TP
.I " \-\-no-preserve-owner"
コピーインモードおよびコピーパスモードにおいて、ファイルの所有者を
変更しません。これは、展開後のファイルの所有者は、実際にファイルの展開を
行なっているユーザとなることを示します。このオプションは、スーパユーザ以外の
ユーザが使用する場合にはデフォルトで有効になります。これは、System V
のユーザが、誤ってファイルの所有権を手放さないようにするためです。
.TP
.I "\-o, \-\-create"
コピーアウトモードで動作します。
.TP
.I "\-O archive"
標準出力のかわりに、指定したアーカイブファイルを用います。他のマシンの
テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'で
始まるファイル名を使用して下さい。ホスト名は、そのユーザとして
リモートテープドライブをアクセスするためにユーザネームと '@'を先に
書いても構いません(典型的には、そのユーザの`~/.rhosts'エントリに
エントリが存在するマシンであることが多いようです)。
.TP
.I " \-\-only-verify-crc"
コピーインモードで CRC フォーマットのアーカイブを読み込む時に、
アーカイブ内の各ファイルの CRC をベリファイするだけで、
実際にファイルを取り出しません。
.TP
.I "\-p, \-\-pass-through"
コピーパスモードで動作します。
.TP
.I "\-\-quiet"
コピーされたブロック数を表示しません。
.TP
.I "\-r, \-\-rename"
対話的にファイル名を変更します。
.TP
.I "\-R [user][:.][group], \-\-owner [user][:.][group]"
コピーアウトモードおよびコピーパスモードにおいて、全ての生成ファイルの
所有権を指定したユーザ、グループに設定します。ユーザもしくはグループの
どちらか、もしくは両方とも指定される必要があります。もしグループの指定は
省略されたが、":"もしくは"."セパレータが指定された場合には、ユーザの
ログイングループがグループとして設定されます。
スーパーユーザのみがファイルの所有権を変更することが可能です。
.TP
.I "\-\-sparse"
コピーアウトモードおよびコピーパスモードにおいて、ゼロから成る大きなブロックを
持つファイルを疎なファイルとして書きます。
.TP
.I "\-s, \-\-swap-bytes"
コピーインモードにおいて、ファイル中のデータの16ビットの上位8ビットと下位
8ビットを入れ換えます。
.TP
.I "\-S, \-\-swap-halfwords"
コピーインモードにおいて、ファイル中のデータの 32 ビットの上位 16 ビットと
下位 16 ビットを入れ換えます。
.TP
.I "\-t, \-\-list"
入力ファイル名の一覧を出力します。
.TP
.I "\-u, \-\-unconditional"
すでに存在している新しいファイルを古いファイルで置き換えるかどうかの
問い合わせをすることなく、全てのファイルを上書きします。
.TP
.I "\-v, \-\-verbose"
処理されたファイル名を表示します(冗長モードということです)。
.IR \-t
オプションが同時に指定された場合には、`ls \-l'形式の表示を得ることが
できます。ustar フォーマットのアーカイブから得られる表示においては、
ローカルシステムに存在しないユーザ名およびグループ名のファイルについては、
アーカイブ内に格納された UID および GID の値に対応するローカルでのユーザ名、
グループ名に置き換えてその部分を表示します。
.TP
.I "\-V \-\-dot"
各ファイルを処理するごとに、"."を表示します。
.TP
.I "\-\-version"
.B cpio
のプログラムバージョンを表示して終了します。