4. scp 命令
scp(Secure Copy)命令是基于 SSH 协议的安全文件远程传输命令,用于在本地与远程主机之间加密传输文件或文件夹,提供与 cp 命令类似的用法,但支持跨网络操作。
作用:
- 本地 向 远程主机 复制文件或文件夹。
- 远程主机 向 本地 复制文件或文件夹。
命令格式:
scp [选项] 本地路径 远程路径
# 或
scp [选项] 远程路径 本地路径
远程路径的表示方式:
远程主机用户名@远程主机域名或IP地址:路径
常用选项
选项
说明
-P <端口>指定远程主机的 SSH 端口(默认为 22)
-r递归复制整个目录(用于传输目录)
-C启用压缩传输(节省带宽)
-p保留文件的权限、修改时间等属性
-q静默模式(不显示传输进度)
-i <密钥文件>指定用于认证的私钥文件
-l <限速>限制带宽使用(单位:Kbit/s,如
-l 1000 限制为 1Mbps)-v显示详细调试信息(排错时有用)
示例
将我的用户主目录 下的 hello.py 文件复制到 远程主机 weimingze.com(用户名:weimingze) 的 /home/weimingze 文件夹下。
weimingze@mzstudio:~$ scp ~/hello.py weimingze@weimingze.com:/home/weimingze/
weimingze@weimingze.com's password:
再复制回来
weimingze@mzstudio:~$ scp weimingze@weimingze.com:/home/weimingze/hello.py ~/
将我的用户主目录 下的 mywebsite 文件夹复制到 远程主机 weimingze.com(用户名:weimingze) 的 /home/weimingze 文件夹下。
weimingze@mzstudio:~$ scp -r ~/mywebsite weimingze@weimingze.com:/home/weimingze/
练习:
- 开启两台 Linux 虚拟机(或者两台Linux 电脑)A 和 B。
- 查看其中一台电脑 A 的用户名和 IP 地址
- 登陆电脑 B,使用 scp 将电脑 B 的
/usr/include/stdio.h复制到 电脑 A 的用户主文件夹下。 - 在电脑 B,将电脑 A 刚复制过去的
stdio.h复制到此电脑 B 的用户主文件夹下。