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