在 Linux 下使用 telnet 本身并不能直接“传文件”,因为 telnet 只是一个明文的交互式远程登录协议,不像 scp、sftp、rsync 那样支持文件传输。
但如果你只能通过 telnet 登录到对方机器,仍有一些“曲线救国”的方式可以传文件。下面按实用性从高到低说明。
这是 telnet 环境下最常用、最可靠的方法。
base64 file.txt > file.b64
然后用 telnet 登录:
telnet 远程IP
在 telnet 会话中:
cat > file.b64
然后把 file.b64 的内容 粘贴进去,按 Ctrl+D 结束。
base64 -d file.b64 > file.txt
✅ 优点:
❌ 缺点:
如果远程系统很老(比如 AIX、Solaris):
发送端:
uuencode file.txt file.txt > file.uu
telnet 里:
cat > file.uu
远程解码:
uudecode file.uu
只适合几行文本:
echo "hello" > test.txt
或:
printf 'line1\nline2\n' > test.txt
如果远程有 nc:
nc -l -p 1234 > file.txt
nc 远程IP 1234 < file.txt
但要先 telnet 登录通知对方
某些 telnet 客户端支持:
rz / sz(需终端支持)kermit但 现代 Linux + 普通 telnet 基本不支持
如果可以控制环境,不要用 telnet 传文件:
scp file user@host:/path
sftp user@host
rsync -avz file user@host:/path
telnet 是:
| 方法 | 是否推荐 | 说明 |
|---|---|---|
| base64 + telnet | ✅✅✅ | 最实用 |
| uuencode | ✅ | 老系统 |
| echo/printf | ✅ | 小文本 |
| nc | ✅ | 需额外端口 |
| telnet 原生 | ❌ | 不支持 |
如果你愿意,可以告诉我:
我可以给你最合适的精确命令。