您的位置:首页 > 运维架构 > Linux

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

2013-01-22 09:33 134 查看
scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令。

有时我们需要获得 远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

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

#scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

/home/administrator/ 本地文件的绝对路径

news.txt 要复制到服务器上的本地文件

root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)

/etc/squid 将本地文件复制到位于远程服务器上的路径



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



按提示输入root用户的密码



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

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

#scp remote@www.abc.com:/usr/local/sin.sh /home/administrator

remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址)

/usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件

/home/administrator 将远程文件复制到本地的绝对路径

注意 两点:

1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:

#scp -p 4588 remote@www.abc.com:/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就是全能了,什么都能拷,文件或文件夹
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: