Initial import from FreeBSD RELENG_4:
[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 .\"
35 .Dd January 27, 2002
36 .Dt UUENCODE 1
37 .Os
38 .Sh NAME
39 .Nm uuencode ,
40 .Nm uudecode ,
41 .Nm b64encode ,
42 .Nm b64decode
43 .Nd encode/decode a binary file
44 .Sh SYNOPSIS
45 .Nm
46 .Op Fl m
47 .Op Fl o Ar output_file
48 .Op Ar file
49 .Ar name
50 .Nm uudecode
51 .Op Fl cimprs
52 .Op Ar
53 .Nm uudecode
54 .Op Fl i
55 .Fl o Ar output_file
56 .Nm b64encode
57 .Op Fl o Ar output_file
58 .Op Ar file
59 .Ar name
60 .Nm b64decode
61 .Op Fl cimprs
62 .Op Ar
63 .Nm b64decode
64 .Op Fl i
65 .Fl o Ar output_file
66 .Op Ar file
67 .Sh DESCRIPTION
68 The
69 .Nm
70 and
71 .Nm uudecode
72 utilities are used to transmit binary files over transmission mediums
73 that do not support other than simple
74 .Tn ASCII
75 data.
76 The
77 .Nm b64encode
78 utility is synonymous with
79 .Nm
80 with the
81 .Fl m
82 flag specified.
83 The
84 .Nm b64decode
85 utility is synonymous with
86 .Nm uudecode
87 with the
88 .Fl m
89 flag specified.
90 .Pp
91 The
92 .Nm
93 utility reads
94 .Ar file
95 (or by default the standard input) and writes an encoded version
96 to the standard output, or
97 .Ar output_file
98 if one has been specified.
99 The encoding uses only printing
100 .Tn ASCII
101 characters and includes the
102 mode of the file and the operand
103 .Ar name
104 for use by
105 .Nm uudecode .
106 .Pp
107 The
108 .Nm uudecode
109 utility transforms
110 .Em uuencoded
111 files (or by default, the standard input) into the original form.
112 The resulting file is named either
113 .Ar name
114 or (depending on options passed to
115 .Nm uudecode )
116 .Ar output_file
117 and will have the mode of the original file except that setuid
118 and execute bits are not retained.
119 The
120 .Nm uudecode
121 utility ignores any leading and trailing lines.
122 .Pp
123 The following options are available for
124 .Nm :
125 .Bl -tag -width ident
126 .It Fl m
127 Use the Base64 method of encoding, rather than the traditional
128 .Nm
129 algorithm.
130 .It Fl o Ar output_file
131 Output to
132 .Ar output_file
133 instead of standard output.
134 .El
135 .Pp
136 The following options are available for
137 .Nm uudecode :
138 .Bl -tag -width ident
139 .It Fl c
140 Decode more than one uuencoded file from
141 .Ar file
142 if possible.
143 .It Fl i
144 Do not overwrite files.
145 .It Fl m
146 When used with the
147 .Fl r
148 flag, decode Base64 input instead of traditional
149 .Nm
150 input.
151 Without
152 .Fl r
153 it has no effect.
154 .It Fl o Ar output_file
155 Output to
156 .Ar output_file
157 instead of any pathname contained in the input data.
158 .It Fl p
159 Decode
160 .Ar file
161 and write output to standard output.
162 .It Fl r
163 Decode raw (or broken) input, which is missing the initial and
164 possibly the final framing lines.
165 The input is assumed to be in the traditional
166 .Nm
167 encoding, but if the
168 .Fl m
169 flag is used, or if the utility is invoked as
170 .Nm b64decode ,
171 then the input is assumed to be in Base64 format.
172 .It Fl s
173 Do not strip output pathname to base filename.
174 By default
175 .Nm uudecode
176 deletes any prefix ending with the last slash '/' for security
177 reasons.
178 .El
179 .Sh EXAMPLES
180 The following example packages up a source tree, compresses it,
181 uuencodes it and mails it to a user on another system.
182 When
183 .Nm uudecode
184 is run on the target system, the file ``src_tree.tar.Z'' will be
185 created which may then be uncompressed and extracted into the original
186 tree.
187 .Pp
188 .Bd -literal -offset indent -compact
189 tar cf \- src_tree \&| compress \&|
190 uuencode src_tree.tar.Z \&| mail sys1!sys2!user
191 .Ed
192 .Pp
193 The following example unpacks all uuencoded
194 files from your mailbox into your current working directory.
195 .Pp
196 .Bd -literal -offset indent -compact
197 uudecode -c < $MAIL
198 .Ed
199 .Pp
200 The following example extracts a compressed tar
201 archive from your mailbox
202 .Pp
203 .Bd -literal -offset indent -compact
204 uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -
205 .Ed
206 .Sh SEE ALSO
207 .Xr basename 1 ,
208 .Xr compress 1 ,
209 .Xr mail 1 ,
210 .Xr uucp 1 ,
211 .Xr uuencode 5
212 .Sh BUGS
213 Files encoded using the traditional algorithm are expanded by 35% (3
214 bytes become 4 plus control information).
215 .Sh HISTORY
216 The
217 .Nm uudecode
218 and
219 .Nm
220 utilities appeared in
221 .Bx 4.0 .