在linux 下scp 命令主要用来在不同主机之间做数据的安全拷贝的。scp 命令可以将文件从本地的计算机中拷贝到远程的主机中,或者从远程计算机中拷贝文件到本地主机,scp命令使用的安全加密的协议,所以在远程拷贝数据的时候会比较安全,不会被黑客截取。
这个命令在日常的工作中经常会被用到,尤其是在多主机的集群环境中或者在cloud 环境里,比如当你想配置hadoop大数据环境或者配置openstack 多节点环境的时候,都会用用到scp命令,用来配置节点间无密码登陆。
本文将会讲述在linux系统中如何来使用linux 的scp命令,并演示如何在主机之间安全的拷贝数据文件。
linux scp 命令的使用格式如下:
1 |
scp [选项] <源文件路径> <目标文件路径> |
或者:
1 |
scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] |
scp 使用实例
在使用scp命令的时候需要注意,本地主机和远程主机必须能够相互访问,你需要知道远程主机的访问用户名和密码。
1#从远程服务器中下载数据文件到本地主机
如果你想从远程主机host1中的/tmp/目录下拷贝test1 文件到本地主机的/tmp目录,那么可以在本地主机的命令行下面
输入命令:
1 |
scp root@host1:/tmp/test1 /tmp |
#2 从远程服务器中拷贝目录文件到本地主机下面
当你从远程主机中拷贝一个目录的时候,你需要给scp命令传入一个“-r“ 选项,这样scp命令就会将远程主机下面的整个目录的文件都拷贝的本地主机下。
输入下面的命令:
1 |
scp -r root@hots1:/tmp /tmp |
这个命令就会把host1主机下的tmp目录拷贝到本地主机的/tmp目录下
#3 将本地主机的文件拷贝到远程服务器上
如果要将本地主机的 /tmp目录下的test1文件拷贝到远程主机的/tmp目录下,可以在本地主机输入下面的命令:
1 |
scp /tmp/test1 root@host1:/tmp |
这样test1文件就会被拷贝到远程服务器上了。
#4将本地主机下的目录上传到远程服务器
这个和刚才第二步的命令类似,就是需要传”-r” 参数给linux scp 命令,输入下面的 scp 命令:
1 |
scp -r /tmp root@hots1:/tmp |
上面的命令会把本地主机的/tmp目录上传到远程主机host1的/tmp目录下。