UNIX/LINUX Command – uuencode


uuencode—Encode a binary file
uudecode—Decode a file created by uuencode


uuencode [-m] [ file ] name
uudecode [-o outfile] [ file ]…


uuencode and uudecode are used to transmit binary files over transmission mediums that do not support other than simple ASCII data.

uuencode reads file (or by default the standard input) and writes an encoded version to the standard output. The encoding uses only printing ASCII characters and includes the mode of the file and the operand name for use by uudecode. If name is / dev/stdout, the result will be written to standard output. By default, the standard UU encoding format will be used. If the option -m is given on the command line, base64 encoding is used instead.

uudecode transforms uuencoded files (or by default, the standard input) into the original form. The resulting file is named name (or outfile if the -o option is given) and will have the mode of the original file except that setuid and execute bits are not retained. If outfile or name is /dev/stdout, the result will be written to standard output. uudecode ignores any leading and trailing lines. The program can automatically decide which of the supported encoding schemes are used.


The following example packages up a source tree, compresses it, uuencodes it, and mails it to a user on another system. When uudecode is run on the target system, the file src_tree.tar.Z will be created, which may then be uncompressed and extracted into the original tree.

tar cf – src_tree | compress | uuencode src_tree.tar.Z | mail sys1!sys2!user

Related Articles