【⼭外笔记-Linux命令】scp命令详解Linux 命令之 scp 命令详解
⼀、scp 简介
scp 命令⽤于不同主机之间复制⽂件和⽬录。
scp 是 secure copy 的缩写,是基于 ssh 协议进⾏安全的远程⽂件拷贝命令。
scp 想要免密进⾏复制,需要发送秘钥给相应的节点。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
⼆、scp 命令语法
scp [-options] [[user@]host1:]source_file [[user@]host2:]target_file2
三、参数说明:
cipher命令1、常⽤参数
-r:递归复制整个⽬录。
-
P port:注意是⼤写的P, port是指定数据传输⽤到的端⼝号。
-v:详细⽅式显⽰出整个过程的调试信息。这些信息⽤于调试连接,验证和配置问题。
2、其他参数
-1:强制scp命令使⽤协议ssh1
-2:强制scp命令使⽤协议ssh2
-4:强制scp命令只使⽤IPv4寻址
-6:强制scp命令只使⽤IPv6寻址
-B:使⽤批处理模式(传输过程中不询问传输⼝令或短语)
-C:允许压缩。(将-C标志传递给ssh,从⽽打开压缩功能)
-p:保留原⽂件的修改时间,访问时间和访问权限。
-q:不显⽰传输进度条。
-
c cipher:以cipher将数据传输进⾏加密,这个选项将直接传递给ssh。
-F ssh_config:指定⼀个替代的ssh配置⽂件,此参数直接传递给ssh。
-i identity_file:从指定⽂件中读取传输时使⽤的密钥⽂件,此参数直接传递给ssh。
-l limit:限定⽤户所能使⽤的带宽,以Kbit/s为单位。
-o ssh_option:如果习惯于使⽤ssh_config(5)中的参数传递⽅式。
-S program:指定加密传输时所使⽤的程序。此程序必须能够理解ssh(1)的选项。
四、实例
1、从本地主机复制⽂件到远程节点
格式
scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file
⽰例:
scp /root/sundal/abc.tar root@192.168.15.115:/root
scp /root/sundal/abc.tar root@192.168.15.115:/root/123.tar
scp /root/sundal/abc.tar 192.168.15.115:/root
scp /root/sundal/abc.tar 192.168.15.115:/root/123.tar
第 1 个指定了⽤户名,命令执⾏后需要输⼊密码,仅指定了⽂件复制到远程的⽬录,⽂件名字不变。
第 2 个指定了⽤户名,命令执⾏后需要输⼊密码,指定了⽂件名,⽂件复制到远程后名字改变。
第 3 个没有指定⽤户名,命令执⾏后需要输⼊⽤户名和密码,仅指定了⽂件复制到远程的⽬录,⽂件名字不变。
第 4 个没有指定⽤户名,命令执⾏后需要输⼊⽤户名和密码,指定了⽂件名,⽂件复制到远程后名字改变。
2、从远程节点复制⽂件到本地主机
格式
scp remote_username@remote_ip:remote_file local_folder
scp remote_username@remote_ip:remote_file local_file
scp remote_ip:remote_file local_folder
scp remote_ip:remote_file local_file
⽰例:
scp root@192.168.15.115:/root/abc.tar /root/sundal
scp root@192.168.15.115:/root/123.tar /root/sundal/abc.tar
scp 192.168.15.115:/root/abc.tar  /root/sundal
scp 192.168.15.115:/root/123.tar /root/sundal/abc.tar
3、从本地主机复制⽬录到远程节点
格式:
scp -r local_folder remote_username@remote_ip:remote_folder
scp -r local_folder remote_ip:remote_folder
⽰例:
scp -r /root/sundal root@192.168.15.115:/root
scp -r /root/sundal 192.168.15.115:/root
4、从远程节点复制⽬录到本地主机
格式:
scp -r remote_username@remote_ip:remote_folder local_folder
scp -r remote_ip:remote_folder local_folder
⽰例:
scp -r root@192.168.15.115:/root /root/sundal
scp -r 192.168.15.115:/root /root/sundal
5、指定端⼝复制⽂件到本地主机
如果远程服务器防⽕墙有为scp命令设置了指定的端⼝,我们需要使⽤ -P 参数来设置命令的端⼝号。使⽤scp命令要确保使⽤的⽤户具有可读取远程服务器相应⽂件的权限,否则scp命令是⽆法起作⽤的。
格式:
scp -P port remote_username@remote_ip:remote_file local_folder
⽰例:
scp -P 4588 root@192.168.15.115:/root/abc.tar /root/sundal
五、相关命令
1、Linux 命令之 cp 命令详解
2、Linux 命令之 rcp 命令详解
3、Linux 命令之 sftp 命令详解
4、Linux 命令之 ssh 命令详解
5、Linux 命令之 sshd 命令详解
6、Linux 命令之 ssh-add 命令详解
7、Linux 命令之 ssh-agent 命令详解
8、Linux 命令之 ssh-keygen 命令详解
9、Linux 命令之 ssh_config 命令详解

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。