linux远程文件复制-----scp

scp

Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

scp优点与不足

scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

语法

scp	【选项】	【参数】

参数说明

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

使用完整语法

1.从远程服务器上下载文件到本地目录

scp 用户名@目标主机IP:文件所在路径 本地主机存放路径

2.上传本地文件到远程服务器指定目录

scp 本地文件路径	用户名@目标主机IP:远程服务器存放路径

简单实例

注:两台主机IP地址分别是:192.168.1.123,192.168.1.124
1)从远程服务器上下载文件到本地目录
使用ssh协议版本2将192.168.1.124主机上的/root目录下的test文件下载到本地的root目录

[root@linus ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg
[root@linus ~]# scp -2 root@192.168.1.124:/root/test /root
The authenticity of host '192.168.1.124 (192.168.1.124)' can't be established.
ECDSA key fingerprint is SHA256:UPiyXj1RamlkIMDY4KO4mzUtR8cm8mCzL6b5E1YIEAY.
ECDSA key fingerprint is MD5:f2:2c:7f:88:a0:e3:1e:1c:36:aa:f7:fc:bd:76:a1:eb.
Are you sure you want to continue connecting (yes/no)? yes	#提示您确定要继续连接吗?选择yes
Warning: Permanently added '192.168.1.124' (ECDSA) to the list of known hosts.
root@192.168.1.124's password: 	#输入192.168.1.124主机上root用户的密码
test                   100%    0     0.0KB/s   00:00    #进度
[root@linus ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  test		#test文件下载到本地了

以递归的方式将192.168.1.124主机上的dir目录下载到本地的root目录

[root@linus ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  test
[root@linus ~]# scp -r root@192.168.1.124:/root/dir /root
root@192.168.1.124's password: 
[root@linus ~]# ls
anaconda-ks.cfg  dir  initial-setup-ks.cfg  test	#dir目录已经被下载下来了

2)上传本地文件到远程服务器
**不显示进度将本地/root/share文件上传至远程服务器的/root目录

[root@linus ~]# scp -q /root/share root@192.168.1.124:/root/
root@192.168.1.124's password: 
[root@linus ~]# ls		#远程服务器上查看已存在
anaconda-ks.cfg  initial-setup-ks.cfg  share  yum.sh

以递归方式将本地/root/gx目录上传至远程服务器的/root目录

[root@linus ~]# scp -r /root/gx/ root@192.168.1.124:/root/
root@192.168.1.124's password: 
[root@linus ~]# ls		#远程服务器上查看也已经上传成功
anaconda-ks.cfg  gx                    share  yum.sh
dir              initial-setup-ks.cfg  test
发布了14 篇原创文章 · 获赞 4 · 访问量 522

猜你喜欢

转载自blog.csdn.net/qq_42534026/article/details/104147063