scp命令 – 基于SSH协议远程复制文件
scp命令来自英文词组“secure copy”的缩写,其功能是用于基于SSH协议远程拷贝文件。scp命令可以在多台Linux系统之间复制文件或目录 ,有些类似于cp命令的功能,但复制的范围却不是本地,而是网络上另一台主机。
由于是基于SSH协议进行的复制操作,全部数据都是加密的,因此会比HTTP和FTP更加安全。
语法格式:scp 参数 文件或目录名 [远程服务器信息]
常用参数:
-1 | 使用ssh协议版本1 |
-2 | 使用ssh协议版本2 |
-4 | 基于IPv4网络协议 |
-6 | 基于IPv6网络协议 |
-B | 使用批处理模式 |
-c | 使用指定密钥对传输文件进行加密 |
-C | 使用压缩模式 |
-F | 设置ssh配置文件路径 |
-i | 从指定文件中读取传输文件的密钥 |
-l | 设置宽带限制 |
-o | 设置ssh服务选项 |
-P | 设置远程主机的端口号 |
-p | 保留文件的修改时间、访问时间和权限属性 |
-q | 静默执行模式 |
-r | 递归处理所有子文件 |
-S | 设置加密传输时所使用的程序 |
-v | 显示执行过程详细信息 |
参考示例
将某个本地文件复制到指定的远程主机的指定目录中:
[root@linux-arae-cc ~]# scp File.cfg 192.168.10.10:/Dir
将指定远程主机中的某个文件复制到本地家目录中:
[root@linux-arae-cc ~]# scp 192.168.10.10:/Dir/File.cfg /root
将某个本地目录复制到指定的远程主机的指定目录中:
[root@linux-arae-cc ~]# scp -r Dir 192.168.10.10:/Dir
将指定远程主机中的某个目录复制到本地家目录中:
[root@linux-arae-cc ~]# scp -r 192.168.10.10:/Dir /root
将某个本地文件复制到指定的远程主机的指定目录中,指定要使用的传输用户身份,并保留原始文件的权限属性。
[root@linux-arae-cc ~]# scp -p File.cfg linuxprobe@192.168.10.10:/Dir