
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:从指定文件中读取传输时使用的密钥文件(例如亚马逊云的 pem 文件),此参数直接传递给 SSH。-l:指定宽带限制。-o:指定使用的 SSH 选项。-P:指定远程主机的端口号。-p:保留文件的最后修改时间,最后访问时间和权限模式。-q:不显示复制进度。-r:以递归方式复制。源文件:指定要复制的源文件。目标文件:目标文件。格式为 user@host:filename(文件名为目标文件的名称)。从远程机器复制文件到本地目录:
scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/以上命令将从 10.10.10.10 机器上的 /opt/soft/ 目录中下载 nginx-0.5.38.tar.gz 文件到本地的 /opt/soft/ 目录中。
从亚马逊云复制 OpenVPN 到本地目录:
scp -i amazon.pem ubuntu@10.10.10.10:/usr/local/openvpn_as/etc/exe/openvpn-connect-2.1.3.110.dmg openvpn-connect-2.1.3.110.dmg以上命令将从 10.10.10.10 机器上下载 openvpn 安装文件到当前的本地目录。
从远程机器复制文件到本地:
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/以上命令将从 10.10.10.10 机器上的 /opt/soft/ 目录中下载 mongodb 目录到本地的 /opt/soft/ 目录中。
上传本地文件到远程机器指定目录:
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest# 指定端口 2222
scp -rp -P 2222 /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest以上命令将本地 /opt/soft/ 目录下的 nginx-0.5.38.tar.gz 文件复制到位于远程机器 10.10.10.10 上的 /opt/soft/scptest 目录。
上传本地目录到远程机器指定目录:
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest以上命令将本地目录 /opt/soft/mongodb 上传到位于远程机器 10.10.10.10 上的 /opt/soft/scptest 目录中。