linux scp命令(主机,服务器间复制文件)

scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。
有时我们需要获得 远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

一、 将本机文件复制到远程服务器上

#scp /home/administrator/news.txt [email protected]:/etc/squid

/home/administrator/      本地文件的绝对路径
news.txt                          要复制到服务器上的本地文件
root                                 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
192.168.6.129                远程服务器的ip地址(也可以使用域名或机器名)
/etc/squid                       将本地文件复制到位于远程服务器上的路径


如图通过root用户登录远程服务器,输入yes表示同意建立ssh连接





按提示输入root用户的密码





如图所示建立连接后开始传输文件,显示百分比、实际时间和传送速度等信息




二、 将远程服务器上的文件复制到本机

#scp [email protected]:/usr/local/sin.sh /home/administrator

remote                       通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
www.abc.com              远程服务器的域名(当然也可以使用该服务器ip地址)
/usr/local/sin.sh           欲复制到本机的位于远程服务器上的文件
/home/administrator  将远程文件复制到本地的绝对路径


注意 两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 [email protected]:/usr/local/sin.sh /home/administrator
2.使用scp要注意所 使用的用户是否具有可读取远程服务器相应文件的权限。


注:
要确保远端linux服务器开启了ssh服务,scp好像是ssh里的一条命令
可以先试着用ssh登陆 ssh username@remoteserver
如果确认ssh可用, 输入exit退出来
先来说文件夹,例如我要从remoteserver的 /etc文件夹考所有文件到 本地的 /tmp/etc去
scp -r username@remoteserver:/etc /tmp/etc
再来说文件夹,例如我要从remoteserver的 /etc/a.txt文件考所有文件到 本地的 /tmp/etc去也叫a.txt
scp username@remoteserver:/etc/a.txt /tmp/etc/a.txt
再说这个参数 -r,用到很多地方,如cp只能拷文件而不是文件夹, 但 cp -r就是全能了,什么都能拷,文件或文件夹

猜你喜欢

转载自lingsui.iteye.com/blog/2125069