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