在 Linux 下使用 SFTP 能否下载整个目录,答案是:
SFTP 本身不支持直接下载目录,但可以通过“递归”方式实现。
下面分几种常见情况说明:
sftp 命令行(交互模式)sftp 命令不能直接 get 目录,但可以加 -r 参数递归下载:
sftp user@host
sftp> get -r /remote/dir /local/dir
或者一行命令:
sftp -r user@host:/remote/dir /local/dir
✅ 支持递归下载目录
⚠ 空目录、符号链接可能处理不友好
scp(更简单,推荐)如果你只是想下载目录,scp 更方便:
scp -r user@host:/remote/dir /local/dir
✅ 直接支持目录
✅ 用法简单
rsync(最推荐)适合大目录、断点续传、增量同步:
rsync -avz -e ssh user@host:/remote/dir /local/dir
优点:
直接拖目录即可。
| 方式 | 是否支持目录 | 推荐度 |
|---|---|---|
| sftp -r | ✅ | ⭐⭐⭐ |
| scp -r | ✅ | ⭐⭐⭐⭐ |
| rsync | ✅ | ⭐⭐⭐⭐⭐ |
| 纯 sftp get | ❌ | ❌ |
如果你愿意,可以告诉我:
我可以给你最合适的命令示例。