当您有多台 Linux 云服务器,需要迁移网站数据、备份文件,或者把本地文件上传到远程服务器,可以使用 scp 命令。scp 基于 ssh 协议传输,自带加密,无需额外安装软件,服务器之间传输文件十分方便。
# 本地文件上传到远程服务器
scp 本地文件路径 用户名@远程服务器IP:远程保存路径
# 远程服务器文件下载到本地
scp 用户名@远程服务器IP:远程文件路径 本地保存路径
# 将本地test.txt上传到远程服务器/root目录
scp test.txt root@123.123.123.123:/root/
# 把远程服务器的backup.tar.gz下载到本机/home目录
scp root@123.123.123.123:/root/backup.tar.gz /home/
传输目录必须添加-r参数,递归复制文件夹内所有子文件
# 上传本地www网站目录到远程服务器
scp -r /home/wwwroot root@123.123.123.123:/home/
# 下载远程wwwroot文件夹到本地
scp -r root@123.123.123.123:/home/wwwroot /home/
-r:递归传输文件夹(目录必备)-P:指定 ssh 端口,远程服务器修改过 ssh 端口时使用(大写 P)# 远程ssh端口不是22,改为2222端口传输文件
scp -P 2222 test.txt root@123.123.123.123:/root
-P,小写 - p 是保留文件属性,不要搞混scp 适合少量文件在云服务器之间快速上传下载,操作简单、加密安全。网站迁移、备份文件临时拷贝都可以使用 scp;如果是几十 GB 的超大文件,推荐使用支持断点续传的 rsync 工具。