在 Linux 下使用 SFTP(SSH File Transfer Protocol) 下载文件,常见有以下几种方式:
sftp 命令行(最常用)sftp username@server_ip
示例:
sftp root@192.168.1.100
如果是非 22 端口:
sftp -P 2222 username@server_ip
get remote_file
示例:
get test.txt
下载到指定本地目录:
get test.txt /home/user/downloads/
get -r remote_dir
示例:
get -r /var/log/nginx
| 命令 | 说明 |
|---|---|
ls |
查看远程目录 |
lls |
查看本地目录 |
cd |
切换远程目录 |
lcd |
切换本地目录 |
pwd |
远程当前目录 |
lpwd |
本地当前目录 |
put |
上传文件 |
get |
下载文件 |
exit / bye |
退出 |
scp(更简单,推荐)如果只是下载文件,不交互,scp 更方便。
scp username@server_ip:/remote/path/file.txt /local/path/
scp -r username@server_ip:/remote/path/dir /local/path/
指定端口:
scp -P 2222 -r username@server_ip:/remote/path /local/path
rsync(大量文件推荐)rsync -avz -e "ssh -p 22" username@server_ip:/remote/path /local/path
优点:
sftp -i ~/.ssh/id_rsa username@server_ip
或:
scp -i ~/.ssh/id_rsa username@server_ip:/remote/file /local/
-o ConnectTimeout=10| 场景 | 推荐 |
|---|---|
| 临时下载 | sftp |
| 简单下载 | scp |
| 大量/同步 | rsync |
如果你愿意,可以告诉我:
我可以给你一条直接可用的命令。