补充说明
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