Linux关于scp命令

声明:本文主要转自https://www.2cto.com/os/201503/379474.html

scp主要应用场景如下:

(1)必要时,每个季度或者每月将数据由这台服务器传输到另外一台,不过前提需要做免密处理;

(2)有些时候觉得通过winscp或者是其他传输工具上传到另外一台服务器很麻烦,可以直接通过scp传输,但是有个前提,就是网速必须给力,否则,会非常非常的慢;

个人觉得挺实用的,有用到的朋友可以参考。

指令:scp
在不同的linux主机间复制文件
带有Security的文件copy,基于ssh登录。

有些linux发行版没有自带scp,因此需要安装scp

yum -y install openssh-clients

基本语法:

scp [参数] source target

常见参数
-v : 显示进度,可以用来查看连接、认证或是配置错误
-r : 赋值目录
-C :使能压缩选项
-P :选择端口
-4 : 强行使用 IPV4 地址
-6 : 强行使用 IPV6 地址

常见的使用方式:
1、将本地复制到远程

1.1 # scp local_file remote_username@remote_ip:remote_folder
1.2 # scp local_file remote_username@remote_ip:remote_folder/remote_file
1.3 # scp local_file remote_ip:remote_folder
1.4 # scp local_file remote_ip:remote_folder/remote_file

1.1和1.2指定了用户名,命令执行后需要输入远程服务器的密码
1.3和1.4未指定用户名,命令执行后需要输入远程服务器的用户名以及密码
1.1和1.3仅指定了远程的目录,文件名字不变
1.2和1.4指定了远程的目录以及文件名

2、将远程的复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,由于语法一样,这里就只列出例子;

scp dodo@192.168.100.2:/doiido /doiido/hello.sh

scp dodo@192.168.100.2:/doiido/hello.sh /doiido/newhello.sh

scp 192.168.100.2:/doiido /doiido/hello.sh

scp 192.168.100.2:/doiido/hello.sh /doiido/newhello.sh

3、复制目录
当需要传输目录的时候,仅需要加上参数-r即可以,例如

scp -r /doiido/hello/ dodo@192.168.100.2:/doiido/

4、注意
4.1 如果远程服务器修改了ssh端口,scp则需要使用修改后的端口,如远程服务器ssh端口为2222,则需加-P参数:

scp -P 2222 /doiido/hello.sh dodo@192.168.100.2:/doiido

上一篇:腾讯Android自动化测试实战3.2.1 Robotium支持Native原理


下一篇:Windows平台JxCore打包