数据与编程之美
在Linux系统中scp用于在不同的主机之间复制文件,它采用SSH协议来保证复制的安全性。scp命令每次都是全量完整复制,因此效率不高,适合第一次复制时使用,增量复制建议使用rsync命令替代。
语法:
scp[参数选项][文件][主机IP:目录]#向远端主机目录下复制文件scp[参数选项][主机IP:文件][目录]#从远端主机的文件复制到本地目录
主要参数说明:
-C 压缩传输-l 指定传输占用的宽带,单位为:Kbit/s-P 指定传输端口号-p 传输后保留文件原始属性-q 不显示传输进度条-r 递归复制整个目录
案例:
将本地文件复制到远程服务器
[root@master test03]# lspandas.png# 本地测试文件[root@master test03]# scp pandas.png 120.28.145.75:/data/The authenticity of host '120.28.145.75 (120.28.145.75)' can't be established.ECDSA key fingerprint is SHA256:+QXNO8vg3Dmngg0Ek90haDDp+PNvI/koo5gLPwSyhgU.ECDSA key fingerprint is MD5:54:bc:45:50:7a:f7:f1:9c:1c:57:fa:86:43:fe:86:f5.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added ' 120.28.145.75root@120.28.145.75's password: pandas.png 100% 30KB 61.2KB/s 00:00 [root@master test03]# lspandas.png[root@master test03]#
登录远端服务器查看文件是否已复制到相应目录下
[root@iZwz9c8miiew8bjh7tpbveZ data]# pwd/data[root@iZwz9c8miiew8bjh7tpbveZ data]# lspandas.png # 已经复制到远端服务器[root@iZwz9c8miiew8bjh7tpbveZ data]#
将远端服务器上的文件复制到本地相应目录下
[root@master test03]# ls # 本地目前没有任何文件[root@master test03]# scp 120.28.145.75:/data/pandas.png ./root@120.28.145.75's password: pandas.png 100% 30KB 425.7KB/s 00:00 [root@master test03]# lspandas.png # 文件已从远端服务器复制到本地[root@master test03]#