scp(secure copy)是一个基于 SSH 协议在网络之间进行安全传输的命令,其格式为“scp[参数] 本地文件 远程帐户@远程 IP 地址:远程目录”。
与 cp 命令不同,cp 命令只能在本地硬盘中进行文件复制,而 scp 不仅能够通过网络传送数据,而且所有的数据都将进行加密处理。例如,如果想把一些文件通过网络从一台主机传递到其他主机,这两台主机又恰巧是 Linux 系统,这时使用 scp命令就可以轻松完成文件的传递了。scp 命令中可用的参数以及作用如表 所示。
在使用 scp 命令把文件从本地复制到远程主机时,首先需要以绝对路径的形式写清本地文件的存放位置。如果要传送整个文件夹内的所有数据,还需要额外添加参数-r 进行递归操作。然后写上要传送到的远程主机的 IP 地址,远程服务器便会要求进行身份验证了。当前用户名称为 root,而密码则为远程服务器的密码。如果想使用指定用户的身份进行验证,可使用用户名@主机地址的参数格式。最后需要在远程主机的 IP 地址后面添加冒号,并在后面写上要传送到远程主机的哪个文件夹中。只要参数正确并且成功验证了用户身份,即可开始传送工作。由于 scp 命令是基于 SSH 协议进行文件传送的。
下面以一台redhat linux服务器:192.168.100.139和一台centos linux服务器:192.168.100.136为例进行演示:
首先在192.168.100.139服务器上创建一个文件:hello.txt,然后使用scp命令传输到192.168.100.136的/home目录下:
接下来到192.168.100.136服务器上查看是否存在该文件:
此外,还可以使用 scp 命令把远程主机上的文件下载到本地主机,其命令格式为“scp [参数] 远程用户@远程 IP 地址:远程文件 本地目录”。例如,可以把远程主机的系统版本信息文件下载过来,这样就无须先登录远程主机,再进行文件传送了,也就省去了很多周折。
以在192.168.100.136服务器上从192.168.100.139服务器的/root/hello.txt文件下载到本地的/root目录下:
以上通过scp命令就可以方便的在两个linux服务器之间发送和下载文件了。