补充说明
uudecode 读取经 uuencode 编码的文本,把其中的数据还原为原始二进制文件,属于 GNU sharutils 包。编码内容开头带有 begin <权限> <文件名> 标记,uudecode 依据这个文件名和权限写出结果。
这种格式曾广泛用于电子邮件和 Usenet 传输二进制附件,如今已基本被 Base64/MIME 取代。除了处理遗留资料,新场景应优先使用 base64 -d。默认情况下 uudecode 会覆盖同名输出文件,使用 -o 可以指定其他路径。
如果输入来自标准输入,uudecode 同样可以工作;文件权限位会按头部声明设置,因此不应以 root 身份解码来源不明的文件。
语法
uudecode [选项] [文件]
选项
-o 文件:将解码结果写入指定文件,而不是使用头部声明的名字。--help:显示帮助信息。--version:显示版本信息。
实例
# 解码 archive.uu,输出文件名取自文件头部
uudecode archive.uu
# 指定输出路径,避免在当前目录生成文件
uudecode -o /tmp/restored.bin archive.uu
# 从标准输入读取编码内容
uudecode < archive.uu
# 与 uuencode 配合验证往返是否一致
uuencode -m photo.jpg photo.jpg > photo.uu
uudecode -o photo.copy photo.uu
cmp photo.jpg photo.copy && echo "一致"