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