OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / uudeview / original / man1 / uudeview.1
1 .\" $Id: uudeview.1,v 1.12 2001/06/21 13:54:15 fp Exp $ "
2 .TH UUDEVIEW 1 "June 2001"
3 .SH NAME
4 UUDeview \- a powerful decoder for binary files
5 .SH SYNOPSIS
6 .B "uudeview [options] [@\fIfile\fP] \fIfile(s)\fP"
7 .SH DESCRIPTION
8 .I UUDeview
9 is a smart decoder for attachments that you have received in encoded
10 form via electronic mail or from the usenet. It is similar to the
11 standard 
12 .BR uudecode (1)
13 command, yet with more comfort and flexibility.
14 .I UUDeview
15 supports the
16 .I uuencoding, xxencoding, Base64
17 and
18 .I BinHex
19 encoding methods, and is able to handle split-files (which have been sent
20 in multiple parts) as well as multiple files at once, thus greatly simplifying
21 the decoding process. Usually, you will not have to manually edit files to
22 prepare them for decoding.
23 .PP
24 After invoking
25 .B uudeview,
26 it will scan all given files for encoded data, sort them and their parts
27 and then present you with the list of files that seem like they can be
28 decoded properly. You can then pick files individually for decoding.
29 .SH OPTIONS
30 .SS BEHAVIOR
31 .TP
32 .B -i
33 Disables interactivity. After scanning the files and sorting
34 everything out, the program will not promt you for whether a file
35 shall be decoded or not, but batch-decodes all available files.
36 This is the default when reading from standard input.
37 .TP
38 .B -a
39 Autorename option. If a target file already exists, and this option is
40 given, a dot and a unique sequence number is appended to the file name.
41 I.e., foo.gif becomes foo.gif.1 if decoded a second time.
42 .TP
43 .B -o
44 Gives the OK to overwrite existing files when decoding. In interactive
45 mode, the default is to prompt the user whether to overwrite, rename
46 or skip the file. This
47 option takes precedence over
48 .B -a.
49 In non-interactive mode (using
50 .B -f
51 ), the default is to overwrite files without asking.
52 .TP
53 .B +o
54 Says it's not OK to overwrite files. This is useful in non-interactive
55 mode, so that existing files are untouched. This has lesser precedence
56 than -a.
57 .TP
58 .B -c
59 Autoclear. Remove all input files that were successfully decoded. Use
60 with care! UUDeview only checks if any data was decoded from an input
61 file, but does not care about any other contents of that input file,
62 or whether a file also held an incomplete attachment.
63 .TP
64 .BI -p " path"
65 Sets the path where decoded files shall be written to. This must be a valid
66 pathname, or you'll get errors when trying to decode anything. Defaults to
67 the current working directory.
68 .TP
69 .B -m
70 Ignore file mode. Uuencoded and xxencoded files have the original file
71 permissions stored on the begin line. Unless this option is given,
72 .I UUDeview
73 will restore them without checking if they are sensible. With this
74 option, the permissions are reset to a default of 0666.
75 .SS TWEAKING
76 .TP
77 .B -z
78 Enforces stricter MIME adherance. Normally, the program tries to find
79 encoded data even in "text/plain" plaintext parts of MIME
80 messages. With this option given,
81 .I UUDeview
82 will limit this capability, and will not accept apparently incomplete
83 encoded messages (for example, seemingly uuencoded data without begin
84 or end lines).
85 You can tighten this option even more by using it twice, or by using
86 .B -z2.
87 Then,
88 .I UUDeview
89 will not check plaintext sections of MIME messages for encoded data at
90 all and behave fully MIME-compliant.
91 Neither option affects the behavior on non-MIME input files. This
92 option needs a better name, but I'm slowly running out of option
93 letters.
94 .TP
95 .B -f
96 Uses fast mode for file scanning. The program assumes that each input file
97 holds at most one part, which is usually true for files in a news spool
98 directory. This option
99 .B breaks decoding
100 of input files with multiple articles. Also, certain sanity checks are
101 disabled, probably causing erroneous files to be presented for decoding.
102 Sometimes you'll get error messages when decoding, sometimes you'll
103 just receive invalid files. Don't use
104 .B -f
105 if you can't live with these problems.
106 .TP
107 .B -r
108 Ignore reply messages, i.e. all messages whose subject starts with
109 Re:
110 .TP
111 .B -t
112 Use plaintext messages. Usually, UUDeview only presents encoded data
113 for decoding. Plaintext messages are only shown if they have an
114 associated file name. With this option set, unnamed text parts from
115 .I MIME
116 messages and non-encoded messages are also offered. Unnamed messages
117 are assigned a unique name in the form of a sequential four-digit number.
118 .TP
119 .B -d
120 Sets the program into desperate mode. It will then offer you to decode
121 incomplete files. This is useful if you are missing the last part of a
122 50-parts posting, but in most cases the desperately-decoded files will
123 simply be corrupt and unusable. The degree of usefulness of an incomplete
124 file depends on the file type.
125 .TP
126 .B -b
127 This changes
128 .I UUDeview's
129 "bracket policy."
130 .I UUDeview
131 looks at a message's subject line, and reads numbers in brackets as
132 the part number, as in (3/7), which is read as the third message in a
133 series of seven. By default, numbers in parentheses () are preferred
134 over numbers in brackets []. You can change this using either
135 .B -b
136 or, for clarity
137 .BI -b [].
138 .TP
139 .B -s
140 Read "minus smartness". This option turns off automatic part number
141 detection from the subject line. Try this option if
142 .I UUDeview
143 fails to parse the subject line correctly and makes errors at guessing
144 part numbers, resulting in incorrect ordering of the parts. With this
145 option, parts are always put together sequentially (so the parts must
146 be correctly ordered in the input file). Also, with this option, the
147 program cannot detect that parts are missing.
148 .B Note:
149 The correct part number found in proper
150 .I MIME
151 files is still evaluated.
152 If this option is given twice, the subject itself is ignored, too, and
153 won't be used to group parts. Use if the messages that the parts come
154 delivered in have different subject lines.
155 .SS OTHER OPTIONS
156 .TP
157 .B -q
158 (Quiet) Disables
159 verbosity. Normally, the program prints some status messages
160 while reading the input files, which can be very helpful if something
161 should go wrong. Use if these messages disturb you.
162 .TP
163 .B -n
164 No progress bars. Normally, UUDeview prints ASCII bars crawling up
165 to 100 percent, but does not check if your terminal is capable of
166 displaying them. Use this switch if your terminal isn't, or if you
167 find the bars annoying.
168 .TP
169 .BI +e " exts"
170 Selects only the files with the given extensions for decoding, others will
171 be ignored.
172 .BI +e " .gif.jpg"
173 would decode all gif and jpeg files, but not tif or other files. The
174 list of extensions works case-insensitive.
175 .TP
176 .BI -e " exts"
177 The reverse of the above.
178 .PP
179 You will experience unwanted results if you try to mix \+e and \-e options
180 on the command line.
181 .SS INPUT OPTIONS
182 .TP
183 .I file(s)
184 The files to be scanned for encoded files. You can also give a single hyphen
185 \'\-\' to read from standard input. Any number of files may be given, but
186 there is usually a limitation of 128 options imposed by the shell. If you are
187 composing the list of files with wildcards, make sure you don't accidentally
188 feed the program with binary files. This will result in undefined behaviour.
189 .TP
190 .BI @ file
191 Makes
192 .I UUDeview
193 read further options from the file. Each line of the file must hold exactly
194 one option. The file 
195 .B is erased 
196 after the program finishes. This feature may be used to specify an unlimited
197 number of files to be scanned. Combined with the powers of
198 .BR find (1),
199 entire directory trees (like the news spool directory) can be processed.
200 .PP
201 Options may also be set in the $UUDEVIEW environment variable, which is
202 read before processing the options on the command line.
203 .SH DECODING
204 After all input files have been scanned, you are asked for each file what
205 do do with it. Of course, the usual answer is to decode it, but there are
206 other possibilities. You can use the following commands (each command is
207 a single letter):
208 .TP
209 .B d
210 (D)ecode the file and write the decoded file to disk, with the given name.
211 .TP
212 .B y
213 (Y)es does the same as (d).
214 .TP
215 .B x
216 E(x)tract also decodes the file.
217 .TP
218 .B a
219 Decodes all remaining files without prompting.
220 .TP
221 .B n
222 Skips this file without decoding it.
223 .TP
224 .B b
225 Steps back to the previous file.
226 .TP
227 .B r
228 Rename. You can choose a different name for the file in order to save it
229 under this new name.
230 .TP
231 .B p
232 Set the path where decoded files shall be written to. This path can also
233 be set with the -p command line option.
234 .TP
235 .B i
236 Displays info about the file, if present. If a multipart posting had a
237 zeroeth part, it is printed, otherwise the first part up to the encoded
238 data is printed.
239 .TP
240 .B e
241 Execute a command. You can enter any arbitrary command, possibly using the
242 current file as an argument. All dollar signs '$' in this command line are
243 replaced with the filename of the current file (speaking correctly, the name
244 of a temporary file). You should not background processes using this
245 temporary file, as programs might get confused if their input file suddenly
246 disappears.
247 .TP
248 .B l
249 List a file. Use this command only if you know that the file in question is
250 a textfile, otherwise, you'll get a load of junk.
251 .TP
252 .B q
253 Quits the program immediately.
254 .TP
255 .B ?
256 Prints a short description of all these commands.
257 .PP
258 If you don't enter a command and simply hit return at the prompt, the
259 default command, decoding the file, is used.
260 .SH RUNTIME MESSGAGES
261 In verbose mode (that is, if you didn't disable verbosity with the
262 -v option), progress messages will appear.
263 They are extremely helpful in tracing what the program does, and can
264 be used to figure out the reason why files cannot be decoded, if you
265 understand them. This section explains how to interpret them.
266 Understanding this section is not essential to operate the program.
267 .PP
268 First, there are "Loading" messages, which begin with the string
269 "Loaded". Each line should feature the following items:
270 .TP
271 .B Source File
272 The first item is the source file from which a part was loaded. Many
273 parts can be detected within a single file.
274 .TP
275 .B Subject Line
276 The complete subject is reproduced in single quotes.
277 .TP
278 .B Identifier
279 The program derives a unique identification for this thread from the
280 subject line, for grouping articles that look like they belong to the
281 same file. The result of this algorithm is presented in braces.
282 .TP
283 .B Filename
284 If a filename was detected on the subject line or within the data (for
285 example, on a begin line, or as part of the Content-Type information).
286 .TP
287 .B Part Number
288 The part number derived from the subject line, or, in the case of
289 properly MIME-formatted messages, from the "part" information.
290 .TP
291 .B Begin/End
292 If a "begin" or "end" token was detected, it is printed here.
293 .TP
294 .B Encoding Type
295 If encoded data was detected within this part, either "UUdata",
296 "Base64", "XXdata" or "Binhex" is printed here.
297 .PP
298 More messages are printed after scanning has completed. A single line
299 will be printed for each group of articles. The contents of this line
300 are best understood by looking at an example. Here is one:
301 .PP
302 .B Found 'mailfile.gz' State 16 UUData Parts begin 1 2 3 4 5 end 6 OK
303 .PP
304 This indicates that the file
305 .I mailfile.gz
306 has been found. The file was uuencoded ("UUData") and consists of
307 6 parts. The "begin" token was found in the first part, and the
308 "end" token was found in the sixth part. Because it looks like
309 everything's there, this file is tagged as being "OK". The
310 .I State
311 is a set of bits, where the following values may be or'ed:
312 .TP
313 .B 1
314 Missing Part
315 .TP
316 .B 2
317 No Begin
318 .TP
319 .B 4
320 No End
321 .TP
322 .B 8
323 No encoded data found.
324 .TP
325 .B 16
326 File looks Ok
327 .TP
328 .B 32
329 An error occured during decoding of the file.
330 .TP
331 .B 64
332 File was successfully decoded.
333 .SH NOTES
334 Because the program cannot receive terminal input when a file is being
335 read from standard input, interactivity is automatically disabled in
336 this case.
337 .PP
338 UUDeview is aware of MIME messages, but normally ignores strict MIME
339 compliance in favor of finding unproperly encoded data within them,
340 e.g. to succeed when individual parts of a uuencoded file have been
341 sent with a MIME mailer as MIME messages. For that, it subjects all
342 "text/plain" parts of a message to encoding detection. You can use the
343 .B -z
344 option (see above) for more strict RFC2045 compliance.
345 .PP
346 The scanner tends to ignore short Base64 data (less than four lines)
347 outside of MIME messages. Some checks for this condition are used in
348 desperate mode, but they may cause misdetection of encoded data,
349 resulting in some invalid files.
350 .PP
351 Files are always decoded into a temporary file first, then this file is copied
352 to the final location. This is to prevent accidentally overwriting existing
353 files with data that turns out too late to be undecodeable. Thus be careful
354 to have twice the necessary space available. Also, when reading from
355 standard input, all the data is dumped to a temporary file before
356 starting the usual scanning process on that file.
357 .PP
358 .B uudeview
359 tries to derive all necessary information from the Subject: line if present.
360 If it holds garbage, or if the program fails to find a unique identification
361 and the part number there, 
362 .B uudeview
363 might still be able to decode the file using other heuristics, but you'll
364 need major luck then.
365 .PD 0
366 .PP
367 Yet this is only a concern with split-files. If all encoded files only consist
368 of single parts, don't worry.
369 .PD
370 .PP
371 If you rename, copy or link the program to
372 .BR uudecode ,
373 it may act as a smart replacement for the standard, accepting the same
374 command-line options. This has not been well-tested yet.
375 .SH "SEE ALSO"
376 .BR uuenview (1),
377 .BR uudecode (1),
378 .BR uuencode (1).
379 .PD 0
380 .PP
381 The
382 .I UUDeview
383 homepage on the Web, 
384 .PD 0
385 .PP
386 http://www.fpx.de/fp/Software/UUDeview/
387 .PD
388 .SH BUGS
389 To read a file whose name starts with a hyphen '-', prepend a path
390 name, for example './'.
391 .PP
392 The checksums found in
393 .I BinHex
394 data are ignored.
395 .PP
396 The program cannot fully handle partial multipart messages (MIME-style
397 multipart messages split over several mail messages). The individual
398 parts are recognized and concatenated, and the embedded multipart
399 message is "decoded" into a plain-text file, which must then be fed
400 again to
401 .B uudeview.
402 Don't worry, these kinds of messages are rare.
403 .PP
404 UUDeview cannot decipher RFC 1522 headers.