scp命令 – 基于SSH协议远程复制文件

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 [email protected]:/root/ks.cfg

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

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

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

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

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

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

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

[root@myEuler ~]# scp -p anaconda-ks.cfg [email protected]:/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

猜你喜欢

转载自blog.csdn.net/u013007181/article/details/129374735