File: shar.1

package info (click to toggle)
manpages-ja 0.5.0.0.20221215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 29,304 kB
  • sloc: perl: 161; makefile: 61
file content (311 lines) | stat: -rw-r--r-- 15,861 bytes parent folder | download | duplicates (6)
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
.\"   Copyright (C) 1994-1999 Free Software Foundation, Inc.
.\"
.\"   Permission is granted to make and distribute verbatim copies of
.\"this
.\"manual provided the copyright notice and this permission notice are
.\"preserved on all copies.
.\"
.\"   Permission is granted to copy and distribute modified versions of
.\"this manual under the conditions for verbatim copying, provided that
.\"the entire resulting derived work is distributed under the terms of a
.\"permission notice identical to this one.
.\"
.\"   Permission is granted to copy and distribute translations of this
.\"manual into another language, under the above conditions for modified
.\"versions, except that this permission notice may be stated in a
.\"translation approved by the Foundation.
.\"
.\" Japanese Version Copyright (c) 2000 Yuichi SATO
.\"         all rights reserved.   
.\" Translated Wed Jun 21 02:18:21 JST 2000
.\"         by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
.\"
.\"WORD:	archive		アーカイブ
.\"WORD:	vanilla		簡潔な
.\"WORD:	mandatory	必須の
.\"WORD:	verbose		詳細な
.\"WORD:	submitter	作成者
.\"WORD:	switch		オプション
.\"WORD:	pack		パックする
.\"WORD:	unpack		ファイルを取り出す
.\"WORD:	header		ヘッダー
.\"WORD:	stock		格納する
.\"WORD:	protection	アクセス権
.\"WORD:	feature		機能
.\"
.TH SHAR 1 "September 10, 1995"
.SH 名前
shar \- シェルアーカイブを作成する
.SH 書式
.nf
shar [ options ] file ...
shar \-S [ options ]
.fi
.SH 説明
shar は「シェルアーカイブ (shar ファイル)」を作成する。
これはテキスト形式なので、メールで送ることができる。
これらのファイルをほどくには、 /bin/sh を使って実行すればよい。
作成されたアーカイブは、\f2\-o\f1 オプションで指示されない限り、
標準出力に送られる。
shar には様々な機能があるので、 shar ファイルの作成や
shar の「賢さ (smartness)」の指定は、非常に柔軟に行うことができる。
アーカイブは、「簡潔 (vanilla)」にも詳細にもできる。
.SH オプション
.PP
オプションには、\- で始まる 1 文字のバージョンと、
\-\- で始まる長いバージョンがある。
\f2\-\-help\f1, \f2\-\-version\f1,
\f2\-\-no-i18n\f1, \f2\-\-print-text-domain-dir\f1 は例外で、
短いバージョンがない。
長いオプションに必須の引き数は、短いオプションでも必須である。
オプションはどのような順番でも与えることができる。
互いに依存しているオプションもある。たとえば、
.nf
	\f2\-l\f1 や \f2\-L\f1 オプションを使う場合、\f2\-o\f1 オプションが必要である。
	\f2\-a\f1 オプションを使う場合、\f2\-n\f1 オプションが必要である。
	下記の \f2\-V\f1 オプションも参照すること。
.fi
.SS フィードバックを与える:
.IP "\f2\-\-help\f1"
ヘルプを標準出力に表示し、すぐに終了する。
.IP "\f2\-\-version\f1"
プログラムのバージョン番号を標準出力に表示し、すぐに終了する。
.IP "\f2\-q\f1 \f2\-\-quiet\f1 \f2\-\-silent\f1"
アーカイブを作成するとき、詳細なメッセージを出力しない。
.SS ファイルの選択:
.IP "\f2\-p\f1  \f2\-\-intermix-type\f1"
指定位置に依存するパラメーターオプションの使用を許す。
\f2\-B\f1, \f2\-T\f1, \f2-z\f1, \f2\-Z\f1 オプションを
(ファイルリストに) 入れてよい。
このオプションの後ろのファイルはすべて、指示されたモードで処理される。
.IP "\f2\-S\f1  \f2\-\-stdin-file-list\f1"
コマンドラインからではなく、標準入力からパックするファイルの一覧を読み込む。
入力は find コマンドで生成される形式と同じく、
1 行に 1 つのファイル名でなければならない。
パックするファイルの一覧をコマンドラインに書けない場合に、
このオプションは非常に役立つ。たとえば、
.nf

find . \-type f \-print | sort | shar \-S \-Z \-L50 \-o /tmp/big

.fi
\f2\-p\f1 が指定された場合、
\f2\-B\f1, \f2\-T\f1, \f2\-z\f1, \f2\-Z\f1 オプションを
標準入力に入れることができる (行はファイル名で区切られる)。
標準入力の行数、ファイル名、オプションは最大 1024 を越えてはならない。
.SS 出力の分割:
.IP "\f2\-o\f1 XXX  \f2\-\-output-prefix=\f1XXX"
アーカイブを標準出力に送らず、ファイル XXX.01 から XXX.nn に保存する。
\f2\-l\f1 または \f2\-L\f1 オプションを使う場合、
このオプションを使うこと。
.IP "\f2\-l\f1 XX  \f2\-\-whole-size-limit=\f1XX"
出力ファイルのサイズを XX キロバイトに制限しようとする
(このサイズより小さくなる場合は、
複数の入力ファイルをまとめた出力ファイルを作成する)。
しかし、(1 つの入力ファイルをアーカイブしたサイズが
これより大きくなる場合でも) 入力ファイルを途中で分割しない。
.IP "\f2\-L\f1 XX  \f2\-\-split-size-limit=\f1XX"
出力ファイルのサイズを XX キロバイトに制限し、必要ならば分割する。
このオプションで作られた、分割形式のアーカイブファイルは、
正しい順番でファイルを取り出さなければならない。
.SS shar ヘッダーの制御:
.IP "\f2\-n\f1 name  \f2\-\-archive-name=\f1name"
shar ファイルのヘッダーにアーカイブ名を入れる。
\f2\-a\f1 オプションを参照すること。
.IP "\f2\-s\f1 who@where  \f2\-\-submitter=\f1who@where"
自動的に決定される作成者名を上書きする。
.IP "\f2\-a\f1  \f2\-\-net-headers\f1"
次のようなヘッダーを自動生成する。
.nf
	Submitted-by: who@where
	Archive-name: <name>/part##
.fi
<name> は \f2\-n\f1 オプションで指示しなければならない。
name に '/' が含まれている場合、"/part" は使われない。つまり、

.RS 10m
.nf
.ta 30n
\-n xyzzy	の場合:
	xyzzy/part01
	xyzzy/part02

\-n xyzzy/patch	の場合:
	xyzzy/patch01
	xyzzy/patch02

\-n xyzzy/patch01.	の場合:
	xyzzy/patch01.01
	xyzzy/patch01.02
.RE
.fi
.IP ""
who@where がデフォルトでは不適切な場合、\f2\-s\f1
オプションを使って明示的に宣言できる。
who@where は本来 `whoami`@`uname` で作られる。
.IP "\f2\-c\f1  \f2\-\-cut-mark\f1"
shar ファイルを cut line で始める。'Cut here' と書かれた行が、
各出力ファイルの先頭に置かれる。
.SS ファイルの格納法の選択:
.IP "\f2\-M\f1  \f2\-\-mixed-uuencode\f1"
混合モード。ファイルがテキストなのかバイナリなのかを決定し、
正しくアーカイブを作る (デフォルトである)。
バイナリであるとわかったファイルは、パックする前に uuencode される
(ネットワーク上の多くの人に、uuencode の使用は煙たがられる)。
.IP "\f2\-T\f1  \f2\-\-text-files\f1"
すべてのファイルをテキストとして扱う。
.IP "\f2\-B\f1  \f2\-\-uuencode\f1"
すべてのファイルをバイナリとして扱い、パックする前に uuencode する。
このオプションは、アーカイブのサイズを増大させる。
受信者は、ファイルを取り出すために uudecode を持っていなければならない
(ネットワーク上の多くの人に、uuencode の使用は煙たがられる)。
.IP "\f2\-z\f1  \f2\-\-gzip\f1"
パックする前に、すべてのファイルを gzip して uuencode する。
受信者は、ファイルを取り出すために uudecode と gzip を持っていなければならない
(ネットワーク上の多くの人に、uuencode と gzip の
使用は煙たがられる)。
.IP "\f2\-g\f1 LEVEL  \f2\-\-level-for-gzip=\f1LEVEL"
圧縮するとき、'\-LEVEL' を gzip のパラメーターとして使う。
デフォルトは 9 である。
\f2\-g\f1 オプションは、デフォルトで \f2\-z\f1 オプションをオンにする。
.IP "\f2\-Z\f1  \f2\-\-compress\f1"
パックする前に、すべてのファイルを compress して uuencode する。
受信者は、ファイルを取り出すために
uudecode と compress を持っていなければならない
(ネットワーク上の多くの人に、uuencode と compress の
使用は煙たがられる)。
\f2\-C\f1 オプションは、\f2\-Z\f1 と同義であるが、推奨されない。
.IP "\f2\-b\f1 BITS  \f2\-\-bits-per-code=\f1BITS"
圧縮するとき、'\-bBITS' を compress のパラメーターとして使う。
\f2\-B\f1 オプションは、デフォルトで \f2\-Z\f1 オプションをオンにする。
デフォルトの値は 12 である。
.SS 転送エラーに対する保護:
.IP "\f2\-w\f1  \f2\-\-no-character-count\f1"
ファイルを取り出すした後、'wc \-c' を使って各ファイルをチェックしない。
デフォルトではチェックする。
.IP "\f2\-D\f1  \f2\-\-no-md5-digest\f1"
取り出したファイルを検査するために \&'md5sum' ダイジェストを使わない。
デフォルトでは、チェックする。
.IP "\f2\-F\f1  \f2\-\-force-prefix\f1"
必要がない場合でも、強制的にプレフィックス文字
(\f2\-d\f1 オプションの引き数が 'X' で始まっていない限り、通常は 'X') を
すべての行の行頭におく。
特に \f2\-B\f1 や \f2\-Z\f1 が使われる場合、
このオプションはアーカイブのサイズを少し増加させる。
.IP "\f2\-d\f1 XXX  \f2\-\-here-delimiter=\f1XXX"
SHAR_EOF のかわりに XXX を shar アーカイブの中のファイルの境界に使う。
このオプションは、shar ファイルをその人独自のものにしたい人のためにある。
.SS 何種類かの shar ファイルの作成:
.IP "\f2\-V\f1  \f2\-\-vanilla-operation\f1"
unshar をする環境に sed と echo だけがあれば良いような、
「簡潔な (vanilla)」shar ファイルを生成する。
さらに、\f2\-x\f1 オプションを使わないときは、
"if test" をサポートしなければならない。
\f2\-V\f1 オプションは、"network cop" (または、"brown shirt"
(訳註:やたらと検閲したがる人)) が
不快に感じるオプションを暗黙のうちに不可にする。
しかし、\f2\-B\f1, \f2-z\f1, \f2\-Z\f1, \f2\-p\f1, \f2\-M\f1
オプションと同時に指定されると、警告を発する
(これらのオプションは、unshar をする環境に
uudecode, gzip, compress を必要とする)。
.IP "\f2\-P\f1  \f2\-\-no-piping\f1"
shar ファイル (の展開) にパイプではなく一時ファイルを使う。
.IP "\f2\-x\f1  \f2\-\-no-check-existing\f1"
チェックせずに、既に存在するファイルを上書きする。
\f2\-x\f1 も \f2\-X\f1 も指定されない場合は、
アーカイブからファイルを取り出すときに、
既に存在するファイルをチェックして上書きしない。
ファイルを取り出すとき、

.RS 10m
sh archive -c
.RE
.IP ""
というように、\f2\-c\f1 がスクリプトへの引き数として渡されると、
既に存在するファイルが無条件に上書きされる。
.IP "\f2\-X\f1  \f2\-\-query-user\f1"
ファイルを取り出すとき、ファイルの上書きをユーザーに対話的に尋ねる。
(ネットワーク上に送信する shar ファイルに使ってはならない)。
.IP "\f2\-m\f1  \f2\-\-no-timestamp\f1"
アーカイブからファイルを取り出すときに 'touch' コマンドを生成しない。
ファイル修正日時は復元されない。
.IP "\f2\-Q\f1  \f2\-\-quiet-unshar\f1"
詳細出力をしない。
ファイルを取り出すときに出力されるコメントをアーカイブに含めない。
.IP "\f2\-f\f1  \f2\-\-basename\f1"
パスを考慮せず、ファイル名だけで復元をする。
このオプションはファイル名だけが使われるようにする。
shar ファイルが複数のディレクトリから作られる場合に役立つ。
ディレクトリ名が shar に渡される場合、
\f2\-f\f1 オプションが指定されているかどうかに関係なく、
そのディレクトリ以下の階層は復元されることに注意すること。
.SS 国際化:
.IP "\f2\-\-no-i18n\f1"
国際化されたシェルアーカイブを作らず、デフォルトの英語メッセージを使う。
shar は通常、
アーカイブからファイルを取り出すときに
(環境変数 LANG/LC_MESSAGES で決定される) その人の好みの言語で
メッセージを出力することができるアーカイブを作る。
ファイルを取り出すとき、その人の言語のメッセージファイルがない場合は、
メッセージは英語になる。
.IP "\f2\-\-print-text-domain-dir\f1"
shar がいろいろな言語のメッセージファイルを見つけるための
ディレクトリを表示し、すぐに終了する。
.SH 例
.nf
.ta 37n
shar *.c > cprog.shar	# すべての C プログラムソース
shar \-Q *.[ch] > cprog.shar	# 詳細出力なし。.c と .h ファイル
shar \-B \-l28 \-oarc.sh *.arc	# すべてのバイナリ .arc ファイルを、
	# ファイル arc.sh.01 - arc.sh.NN へ
shar \-f /lcl/src/u*.c > u.sh	# ファイル名のみを使用
.ta
.fi
.SH 警告
.PP
ファイルを取り出すとき作られるディレクトリに対して、
chmod と touch が起動されることはない。
よって、ディレクトリを shar でパックすると、
取り出されたディレクトリのアクセス権・修正日時は、
元のディレクトリのものと一致しない。
.PP
shar にディレクトリを渡すと、
ディレクトリは 2 回以上スキャンされる。
よって、shar が動作している間にディレクトリを変更しないように
注意しなければならない。
.PP
出力ファイルが入力ファイルに含まれないように注意すること。
さもないと、shar はディスクが溢れるまでループする。
特に、shar にディレクトリを渡すときは、
出力ファイルをそのディレクトリ (もしくはそのサブディレクトリ) に
置かないように注意すること。
.PP
\f2\-B\f1, \f2\-z\f1, \f2\-Z\f1, 特に \f2\-M\f1 を使うと、
ファイル数に応じてアーカイブプロセスが非常に遅くなる。
.PP
\f2\-X\f1 オプションを使うと、多くの unshar プロセスで
\f2\間違いなく\f1 問題を引き起こす shar ファイルが作られる。
この機能を使うのは、合意の取れた集団内で受け渡されるアーカイブのみにすること。
もちろん、\f2\-X\f1 は Usenet に発信される
シェルアーカイブのためのものではない。
\f2\-B\f1, \f2\-z\f1, \f2\-Z\f1 をネットワーク上の shar ファイルに使うと、
非常に非難されるだろう。
\f2\-m\f1 と \f2\-F\f1 を使わない場合も、時々苦情を言われるだろう。
.SH 関連項目
.PP 
unshar(1)
.SH 返り値
.PP
不正なオプション・矛盾するオプション、
一般でないファイル・見つからないファイル・アクセスできないファイル、
(有り得ない) メモリ割り当ての失敗、に対するエラーメッセージ。
.SH 著者
shar と unshar プログラムは多くの著者の協同作品である。
多くの人々が、問題の報告・いろいろな改良の示唆・実際のコードの提供に
貢献してくれた。
これらの人々は sharutils ディストリビューションの
THANKS というファイルにリストされている。