每天一个linux命令1之scp
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftpServer,这样可以另外一台使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。scp是有security的文件copy,基于ssh登录
有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。
一、将本机文件复制到远程服务器上
把本地文件 news.txt 复制到192.168.6.129机器(用户名是root)的/etc/squid目录下
#scp /home/administrator/news.txtroot@192.168.6.129:/etc/squid
/home/administrator/ 本地文件的绝对路径
news.txt 要复制到服务器上的本地文件
root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)
/etc/squid 将本地文件复制到位于远程服务器上的路径
通过root用户登录远程服务器,输入yes表示同意建立ssh连接
提示输入root用户的密码
建立连接后开始传输文件,显示百分比、实际时间和传送速度等信息
复制文件夹请使用 -r参数
二、将远程服务器上的文件复制到本机
#scp root@192.168.6.129:/usr/local/sin.sh/home/administrator
root 通过root用户登录到远程服务器
192.168.6.129 远程服务器的ip
/usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件
/home/administrator 将远程文件复制到本地的绝对路径
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp-p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
可以使用的参数-
-v 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
-r 复制一个文件夹
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。