scp命令:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录.
scp命令基本格式:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
scp命令的参数说明:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-P port 注意是大写的P, port是指定数据传输用到的端口号
文件拷贝
从本地到远程
普通用户和root之间可以相互传输,不存在界限
从本地复制文件到远程:
scp 本地文件 远程用户@远程IP:远程路径
scp /client/huyao.sh root@192.168.0.144:/u01/
(将本地的huyao.sh文件复制到远程的/u01/路径下)
从本地复制文件内容到远程:
scp 本地文件 远程用户@远程IP:远程文件
scp /client/huyao.sh root@192.168.0.144:/u01/cr.sh
如果远程的文件存在
(将本地huyao.sh的内容复制到远程的cr.sh文件中(替换了原文件内容))
如果远程文件不存在
(将本地huyao.sh的内容复制到远程的cr.sh文件中(创建了cr.sh文件,并复制内容))
scp 本地文件 远程IP:远程路径
scp /client/hy.sh 192.168.0.144:/u01/
scp 本地文件 远程IP:远程文件
scp /client/huyao.sh 192.168.0.144:/u01/cr.sh
scp -r 本地文件夹 远程用户@远程IP:远程地址(必须加-r(递归复制整个目录))
scp -r client/ root@192.168.0.144:/u01/
scp -r 本地文件夹 远程IP:远程地址(必须加-r(递归复制整个目录))
scp -r client/ 192.168.0.144:/u01/
从远程到本地(最后两个参数换一下就是)
scp 远程用户名 @IP 地址 :远程文件 本地用户名 @IP 地址 : 本地文件
如果文件存在,替换hy.sh内容
scp root@192.168.0.144:/u01/ser.properties root@192.168.0.145:/client/hy.sh
如果文件不存在,就创建,然后把内容复制进来
scp 远程用户名 @IP 地址 : 远程文件 本地文件
scp root@192.168.0.144:/u01/ser.properties /client/hy.sh
同样的,存在就替换内容,不存在就创建
scp -r 远程用户名 @IP 地址 : 远程文件夹 本地文件夹
scp -r root@192.168.0.144:/u01/ /client/
从多个远程服务器到本地
文件
scp 远程用户1@远程IP:远程1文件 远程用户2@远程IP:远程2文件 本地存储路径
scp root@192.168.0.223:/u02/boot.properties root@192.168.0.144:/u01/test5.sh /client/
文件夹
scp -r root@192.168.0.223:/u02 root@192.168.0.144:/hy/ /client/
注意:最后面的一个必需是目录,前面的必须是文件,才能成功批量复制,复制中会提示多次输入密码。