linux之scp命令详解及应用示例

不同的Linux之间copy文件常用有3种方法:

第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

第三种就是利用scp命令来进行文件复制。

linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录,是有Security的文件copy,基于ssh登录。

scp的应用有如下两种方式:

1、把本地目录或文件copy到远程另外一台主机上:

    A、复制文件 

         #scp [本地用户名@IP 地址:]文件名1 远程用户名@IP地址:文件名2 

         例子:把本地/root/zbdata下的a.txt文件复制到远程主机10.1.11.210的/root/zbdata/目录下

         #scp /root/zbdata/a.txt [email protected]:/root/zbdata/

 

                    如上图可看到需要输入远程主机用户名所对应的密码,才可复制成功

    B、复制目录

        #scp -r [本地用户名@IP 地址:]目录名 远程用户名@IP地址:目录名

        例子:把本地/root/zbdata目录复制到远程主机10.1.11.210的/root/test/目录下

        #scp -r /root/zbdata/ [email protected]:/root/test

      

   

          如上图可看到需要输入远程主机用户名所对应的密码,才可复制成功

 

2、把远程主机的目录或文件copy到本地:

    A、复制文件 

         #scp 远程用户名@IP地址:文件名1 [本地用户名@IP 地址:]文件名2

         可能有用的几个参数 :

             -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误

             -C 使能压缩选项

             -P 选择端口 . 注意 -p 已经被 rcp 使用

             -4 强行使用 IPV4 地址

             -6 强行使用 IPV6 地址

         例子:把远程主机10.1.11.210的/root/zbdata/目录下的a.txt文件复制到本地/root/zbdata下

         #scp [email protected]:/root/zbdata/a.txt /root/zbdata/

 

    B、复制目录

        #scp -r 远程用户名@IP地址:目录名 [本地用户名@IP 地址:]目录名

        例子:把远程主机10.1.11.210的/root/test/目录复制到本地/root/zbdata目录下

        #scp -r [email protected]:/root/test/ /root/zbdata/

 

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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。