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

由于基于SSH协议,复制操作的全部数据都是加密的,因此会比HTTP和FTP更加安全。 
scp语法格式如下

scp [选项] 文件 

常用选项如下:

选项 作用
-4 使用ipv4
-6 使用ipv6 
-B  以批处理模式运行
-C 使用压缩
-F 指定ssh配置文件 
-l 指定宽带限制 
-o 指定使用的ssh选项
-P 大写P,指定远程主机的端口号
-p 小写p,保留文件的修改时间,访问时间和权限模式 
-q 不显示复制进度
-r 以递归方式复制

实例演示

1、将某个本地文件复制到远程主机的指定目录中,并重命名该目标文件

#将当前目录中的anaconda-ks.cfg复制到远程主机的/root目录下,并重命名为ks.cfg
[root@myEuler ~]# scp anaconda-ks.cfg root@192.168.218.100:/root/ks.cfg

2、将远程主机中的某个文件下载到本地zhangsan的家目录中

[root@myEuler ~]# scp root@192.168.218.100:/root/ks.cfg ~zhangsan

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

[root@myEuler ~]# scp -r dir1/ root@192.168.218.100:/root

4、将远程主机中的某个目录下载到本地指定目录中

[root@myEuler ~]# scp -r root@192.168.218.100:/root/dir1 /opt

5、将某个本地文件复制到远程主机的指定目录中,要求保留文件的原始权限等信息。

[root@myEuler ~]# scp -p anaconda-ks.cfg root@192.168.218.100:/opt/


#比对源、目文件属性信息
[root@myEuler ~]# ls -l anaconda-ks.cfg 
-rw-------. 1 root root 1045 11月 22 16:50 anaconda-ks.cfg

[root@client ~]# ls -l /opt/anaconda-ks.cfg 
-rw------- 1 root root 1045 11月 22 16:50 /opt/anaconda-ks.cfg

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐