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