scp命令 Scp -r命令


SCP详解

SCP(Secure Copy)

SCP是一种在本地主机和远程主机之间加密复制文件的方法。

详细说明

SCP命令是Linux系统中用于远程拷贝文件的命令。与仅限于本机拷贝的cp命令不同,SCP传输文件是加密的,这确保了数据传输的安全性。虽然加密过程可能会略微影响传输速度,但在安全性至上的情况下,这种牺牲是值得的。

当服务器硬盘变为只读系统时,您可以使用SCP将文件移出。SCP是一个非常轻量级的命令,几乎不会增加系统负荷。在这方面,它远胜于rsync等工具。

尽管rsync在某些情况下(如大量小文件传输)可能会比SCP稍快一些,但当处理大量小文件时,rsync可能会导致硬盘I/O非常高,而SCP基本不会影响系统的正常使用。

语法

scp(选项)(参数)

选项详解

-1:使用ssh协议版本1;

-2:选择使用ssh协议版本2;

-4:指定使用IPv4地址进行传输;

-6:指定使用IPv6地址进行传输;

-B:以批处理模式执行命令;

-C:在传输过程中使用压缩功能;

-F:指定ssh配置文件路径;

-i:指定身份验证密钥文件路径,例如Amazon云服务的pem文件;

-l:设定带宽限制;

-o:设置特定的ssh选项;

-P:设定远程主机的SSH端口号;

-p:保持文件属性,如修改时间、访问时间和权限模式不变;

-q:静默模式,不显示复制进度;

-r:递归复制,用于复制目录。

参数解释

  • 源文件:指定要复制的源文件。
  • 目标文件:目标文件的路径和名称,格式为"user@host:filename"。

实例操作

从远程复制文件到本地的操作与从本地复制到远程的操作相似,只需交换两个参数的顺序即可。

例如,从远处复制文件到本地目录的操作如下:

scp .10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

此命令将从IP地址为10.10.10.10的远程机器上复制nginx-0.5.38.tar.gz文件到本地的/opt/soft/目录中。

再如,从云服务器复制Open到本地目录的操作如下:

scp -i amon.pem .10.10:/usr/local/openvpn_as/etc/exe/open-connect-2.1.3.110.dmg open-connect-2.1.3.110.dmg

此命令将从IP地址为10.10.10.10的远程机器上下载open安装文件到本地当前目录。

其他操作如从远处复制到本地、上传本地文件到远程机器、上传本地目录到远程机器等,均按照相应参数和选项进行操作。