xref: /freebsd-12.1/usr.bin/uuencode/uuencode.1 (revision f1bb2cd2)
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$
34.\"
35.Dd January 27, 2002
36.Dt UUENCODE 1
37.Os
38.Sh NAME
39.Nm uuencode ,
40.Nm uudecode
41.Nd encode/decode a binary file
42.Sh SYNOPSIS
43.Nm
44.Op Fl m
45.Op Fl o Ar output_file
46.Op Ar file
47.Ar name
48.Nm uudecode
49.Op Fl cips
50.Op Ar
51.Nm uudecode
52.Op Fl i
53.Fl o Ar output_file
54.Op Ar file
55.Sh DESCRIPTION
56.Nm Uuencode
57and
58.Nm uudecode
59are used to transmit binary files over transmission mediums
60that do not support other than simple
61.Tn ASCII
62data.
63.Pp
64.Nm Uuencode
65reads
66.Ar file
67(or by default the standard input) and writes an encoded version
68to the standard output, or
69.Ar output_file
70if one has been specified.
71The encoding uses only printing
72.Tn ASCII
73characters and includes the
74mode of the file and the operand
75.Ar name
76for use by
77.Nm uudecode .
78.Pp
79.Nm Uudecode
80transforms
81.Em uuencoded
82files (or by default, the standard input) into the original form.
83The resulting file is named either
84.Ar name
85or (depending on options passed to
86.Nm uudecode )
87.Ar output_file
88and will have the mode of the original file except that setuid
89and execute bits are not retained.
90.Nm Uudecode
91ignores any leading and trailing lines.
92.Pp
93The following options are available for
94.Nm :
95.Bl -tag -width ident
96.It Fl m
97Use the Base64 method of encoding, rather than the traditional
98.Nm
99algorithm.
100.It Fl o Ar output_file
101Output to
102.Ar output_file
103instead of standard output.
104.El
105.Pp
106The following options are available for
107.Nm uudecode :
108.Bl -tag -width ident
109.It Fl c
110Decode more than one uuencode'd file from
111.Ar file
112if possible.
113.It Fl i
114Do not overwrite files.
115.It Fl o Ar output_file
116Output to
117.Ar output_file
118instead of any pathname contained in the input data.
119.It Fl p
120Decode
121.Ar file
122and write output to standard output.
123.It Fl s
124Do not strip output pathname to base filename.
125By default
126.Nm uudecode
127deletes any prefix ending with the last slash '/' for security
128purpose.
129.El
130.Sh EXAMPLES
131The following example packages up a source tree, compresses it,
132uuencodes it and mails it to a user on another system.
133When
134.Nm uudecode
135is run on the target system, the file ``src_tree.tar.Z'' will be
136created which may then be uncompressed and extracted into the original
137tree.
138.Pp
139.Bd -literal -offset indent -compact
140tar cf \- src_tree \&| compress \&|
141uuencode src_tree.tar.Z \&| mail sys1!sys2!user
142.Ed
143.Pp
144The following example unpack all uuencode'd
145files from your mailbox into your current working directory.
146.Pp
147.Bd -literal -offset indent -compact
148uudecode -c < $MAIL
149.Ed
150.Pp
151The following example extract a compress'ed tar
152archive from your mailbox
153.Pp
154.Bd -literal -offset indent -compact
155uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -
156.Ed
157.Sh SEE ALSO
158.Xr basename 1 ,
159.Xr compress 1 ,
160.Xr mail 1 ,
161.Xr uucp 1 ,
162.Xr uuencode 5
163.Sh BUGS
164The encoded form of the file is expanded by 35% (3 bytes become 4 plus
165control information).
166.Sh HISTORY
167The
168.Nm uudecode
169and
170.Nm
171utilities appeared in
172.Bx 4.0 .
173