Linux 命令速查
文本处理 man uuencode

uuencode

把二进制文件编码为可邮件传输的文本

返回

补充说明

uuencode 将二进制数据转换为只含可打印字符的文本,便于通过电子邮件、Usenet 等只能传输 7 位文本的通道发送,属于 GNU sharutils 包。输出以 begin <权限> <文件名> 开始,以 end 结束,可由 uudecode 还原。

参数中的 remote-name 是解码时使用的文件名,并不会自动取其路径部分;它通常只写基本文件名,避免解码方写入意外目录。使用 -m 会生成更紧凑的 Base64 变体,uudecode 可以自动识别两种格式。

该工具已被 MIME/Base64 取代,现代环境通常直接使用 base64 或邮件客户端自动编码。传输大文件时 Base64 体积约增加三分之一,需注意邮件大小限制。

语法

uuencode [选项] [输入文件] remote-name

选项

  • -m:使用 Base64 编码,而不是传统的 uuencode 格式。
  • --help:显示帮助信息。
  • --version:显示版本信息。

实例

# 编码文件,解码后名字为 backup.tar.gz
uuencode backup.tar.gz backup.tar.gz > backup.uu

# 使用 Base64 变体,体积更小
uuencode -m firmware.bin firmware.bin > firmware.uu

# 从标准输入读取数据
cat payload.bin | uuencode -m payload.bin > payload.uu

# 发送邮件(依赖本地 MTA 配置)
mail -s "attachment" user@example.com < backup.uu

# 接收方还原文件
uudecode backup.uu

参考链接