scp

    scp命令 用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

    1. -2:使用ssh协议版本2
    2. -6:使用ipv6
    3. -B:以批处理模式运行;
    4. -C:使用压缩;
    5. -F:指定ssh配置文件;
    6. -iidentity_file 从指定文件中读取传输时使用的密钥文件(例如亚马逊云pem),此参数直接传递给ssh
    7. -l:指定宽带限制;
    8. -p:保留文件的最后修改时间,最后访问时间和权限模式;
    9. -q:不显示复制进度;
    10. -r:以递归方式复制。
    • 源文件:指定要复制的源文件。
    • 目标文件:目标文件。格式为user@host:filename(文件名为目标文件的名称)。

    从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。

    从远程机器复制文件到本地目录

    从亚马逊云复制OpenVPN到本地目录

    1. 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安装文件到本地当前目录来。

    从远程机器复制到本地

    上传本地文件到远程机器指定目录

    1. scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
    2. 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目录。

    上传本地目录到远程机器指定目录