scp命令来自英文词组secure copy的缩写,其功能是基于SSH协议远程复制文件。scp命令可以在多台Linux系统之间复制文件或目录,它有些类似于cp命令的功能,但复制的范围却不是本地,而是网络上的另一台主机。

由于scp命令是基于SSH协议进行的复制操作,全部数据都是加密的,因此会比HTTP和FTP更加安全。

语法格式:scp 参数 文件或目录名 远程服务器信息

常用参数:

-1使用SSH协议版本1 -l设置宽带限制
-2使用SSH协议版本2-o设置ssh服务选项
-4基于IPv4网络协议-P设置远程主机的端口号
-6基于IPv6网络协议-p保留文件的修改时间、访问时间和权限属性
-B使用批处理模式-q静默执行模式
-c使用指定密钥对传输文件进行加密-r递归处理所有子文件
-C使用压缩模式-S设置加密传输时所使用的程序
-F设置ssh配置文件路径-v显示执行过程详细信息
-i从指定文件中读取传输文件的密钥  

参考示例

将某个本地文件复制到指定的远程主机的指定目录中:

[root@linuxcool ~]# scp File.cfg 192.168.10.10:/Dir

将指定远程主机中的某个文件复制到本地家目录中:

[root@linuxcool ~]# scp 192.168.10.10:/Dir/File.cfg /root 

将某个本地目录复制到指定的远程主机的指定目录中:

[root@linuxcool ~]# scp -r Dir 192.168.10.10:/Dir 

将指定远程主机中的某个目录复制到本地家目录中:

[root@linuxcool ~]# scp -r 192.168.10.10:/Dir /root

将某个本地文件复制到指定的远程主机的指定目录中,指定要使用的传输用户身份,并保留原始文件的权限属性:

[root@linuxcool ~]# scp -p File.cfg linuxprobe@192.168.10.10:/Dir
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。