Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / usr.bin / uuencode / uuencode.1
1 .\" Copyright (c) 1980, 1990, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)uuencode.1  8.1 (Berkeley) 6/6/93
33 .\" $FreeBSD: src/usr.bin/uuencode/uuencode.1,v 1.9.2.9 2003/04/07 20:11:46 fanf Exp $
34 .\" $DragonFly: src/usr.bin/uuencode/uuencode.1,v 1.2 2003/06/17 04:29:33 dillon Exp $
35 .\"
36 .Dd January 27, 2002
37 .Dt UUENCODE 1
38 .Os
39 .Sh NAME
40 .Nm uuencode ,
41 .Nm uudecode ,
42 .Nm b64encode ,
43 .Nm b64decode
44 .Nd encode/decode a binary file
45 .Sh SYNOPSIS
46 .Nm
47 .Op Fl m
48 .Op Fl o Ar output_file
49 .Op Ar file
50 .Ar name
51 .Nm uudecode
52 .Op Fl cimprs
53 .Op Ar
54 .Nm uudecode
55 .Op Fl i
56 .Fl o Ar output_file
57 .Nm b64encode
58 .Op Fl o Ar output_file
59 .Op Ar file
60 .Ar name
61 .Nm b64decode
62 .Op Fl cimprs
63 .Op Ar
64 .Nm b64decode
65 .Op Fl i
66 .Fl o Ar output_file
67 .Op Ar file
68 .Sh DESCRIPTION
69 The
70 .Nm
71 and
72 .Nm uudecode
73 utilities are used to transmit binary files over transmission mediums
74 that do not support other than simple
75 .Tn ASCII
76 data.
77 The
78 .Nm b64encode
79 utility is synonymous with
80 .Nm
81 with the
82 .Fl m
83 flag specified.
84 The
85 .Nm b64decode
86 utility is synonymous with
87 .Nm uudecode
88 with the
89 .Fl m
90 flag specified.
91 .Pp
92 The
93 .Nm
94 utility reads
95 .Ar file
96 (or by default the standard input) and writes an encoded version
97 to the standard output, or
98 .Ar output_file
99 if one has been specified.
100 The encoding uses only printing
101 .Tn ASCII
102 characters and includes the
103 mode of the file and the operand
104 .Ar name
105 for use by
106 .Nm uudecode .
107 .Pp
108 The
109 .Nm uudecode
110 utility transforms
111 .Em uuencoded
112 files (or by default, the standard input) into the original form.
113 The resulting file is named either
114 .Ar name
115 or (depending on options passed to
116 .Nm uudecode )
117 .Ar output_file
118 and will have the mode of the original file except that setuid
119 and execute bits are not retained.
120 The
121 .Nm uudecode
122 utility ignores any leading and trailing lines.
123 .Pp
124 The following options are available for
125 .Nm :
126 .Bl -tag -width ident
127 .It Fl m
128 Use the Base64 method of encoding, rather than the traditional
129 .Nm
130 algorithm.
131 .It Fl o Ar output_file
132 Output to
133 .Ar output_file
134 instead of standard output.
135 .El
136 .Pp
137 The following options are available for
138 .Nm uudecode :
139 .Bl -tag -width ident
140 .It Fl c
141 Decode more than one uuencoded file from
142 .Ar file
143 if possible.
144 .It Fl i
145 Do not overwrite files.
146 .It Fl m
147 When used with the
148 .Fl r
149 flag, decode Base64 input instead of traditional
150 .Nm
151 input.
152 Without
153 .Fl r
154 it has no effect.
155 .It Fl o Ar output_file
156 Output to
157 .Ar output_file
158 instead of any pathname contained in the input data.
159 .It Fl p
160 Decode
161 .Ar file
162 and write output to standard output.
163 .It Fl r
164 Decode raw (or broken) input, which is missing the initial and
165 possibly the final framing lines.
166 The input is assumed to be in the traditional
167 .Nm
168 encoding, but if the
169 .Fl m
170 flag is used, or if the utility is invoked as
171 .Nm b64decode ,
172 then the input is assumed to be in Base64 format.
173 .It Fl s
174 Do not strip output pathname to base filename.
175 By default
176 .Nm uudecode
177 deletes any prefix ending with the last slash '/' for security
178 reasons.
179 .El
180 .Sh EXAMPLES
181 The following example packages up a source tree, compresses it,
182 uuencodes it and mails it to a user on another system.
183 When
184 .Nm uudecode
185 is run on the target system, the file ``src_tree.tar.Z'' will be
186 created which may then be uncompressed and extracted into the original
187 tree.
188 .Pp
189 .Bd -literal -offset indent -compact
190 tar cf \- src_tree \&| compress \&|
191 uuencode src_tree.tar.Z \&| mail sys1!sys2!user
192 .Ed
193 .Pp
194 The following example unpacks all uuencoded
195 files from your mailbox into your current working directory.
196 .Pp
197 .Bd -literal -offset indent -compact
198 uudecode -c < $MAIL
199 .Ed
200 .Pp
201 The following example extracts a compressed tar
202 archive from your mailbox
203 .Pp
204 .Bd -literal -offset indent -compact
205 uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -
206 .Ed
207 .Sh SEE ALSO
208 .Xr basename 1 ,
209 .Xr compress 1 ,
210 .Xr mail 1 ,
211 .Xr uucp 1 ,
212 .Xr uuencode 5
213 .Sh BUGS
214 Files encoded using the traditional algorithm are expanded by 35% (3
215 bytes become 4 plus control information).
216 .Sh HISTORY
217 The
218 .Nm uudecode
219 and
220 .Nm
221 utilities appeared in
222 .Bx 4.0 .