本地文件怎么传到服务器?服务器文件怎么下载到本地?SCP 和 SFTP 就是干这个的。
一、SCP vs SFTP
- SCP:命令行工具,一条命令传文件,适合传单个文件或写脚本
- SFTP:交互式文件传输,功能更多,也可以图形化操作
- 两者都走 SSH 协议(22 端口),安全加密,不用额外部署
二、SCP 命令行
本地 → 服务器(上传)
scp local-file.txt user@服务器IP:/remote/path/ scp -r local-dir/ user@服务器IP:/remote/path/ # -r 传目录
服务器 → 本地(下载)
scp user@服务器IP:/remote/file.txt /local/path/ scp -r user@服务器IP:/remote/dir/ /local/path/
用密钥
scp -i /path/to/key.pem local-file.txt ubuntu@服务器IP:/home/ubuntu/
指定端口(非 22)
scp -P 2222 local-file.txt user@服务器IP:/path/
注意大写的 -P,小写 -p 是保留文件属性,意思不同。
三、SFTP 命令行
sftp user@服务器IP # 连上后: put local-file.txt # 上传 put -r local-dir/ # 上传目录 get remote-file.txt # 下载 get -r remote-dir/ # 下载目录 ls # 看远端目录 lls # 看本地目录 cd /remote/path # 切换远端目录 lcd /local/path # 切换本地目录 exit # 退出
四、图形工具:FileZilla
- 官网下载 FileZilla Client(免费,Win/Mac/Linux 都有)
- 文件 → 站点管理器 → 新站点
- 协议选 SFTP,主机填服务器 IP,端口 22
- 登录类型选「密钥文件」,选你的 .pem 私钥(或选「正常」输密码)
- 连接。左边本地,右边服务器,拖拽传文件。
五、手机传文件
- JuiceSSH:长按会话 → 更多 → 文件传输(SFTP 模式)
- Termius:连接后点 SFTP 标签页,可视化传文件
- 应急传小文件也可以用
cat复制粘贴,但大文件还是走 SFTP
六、传大文件的技巧
- 先压缩再传:
tar -czvf web.tar.gz /var/www/html,传完再解压,比传一堆小文件快得多 - 断点续传:用
rsync代替 scp,支持续传:rsync -avzP -e ssh local-file.txt user@服务器IP:/path/
-P显示进度,断了重跑自动续传
本文为杰哥的折腾笔记原创教程,转载请注明出处。
