【linux命令讲解大全】044.SCP 文件传输工具简介与使用方法

2024-03-02 13:10:14 浏览数 (2)

scp

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

补充说明

scp 命令用于在 Linux 下进行远程拷贝文件的操作。相对于类似的 cp 命令,scp 可以跨服务器进行文件拷贝,并且传输过程是加密的。虽然可能会稍微降低一些速度,但当你的服务器硬盘变为只读时,使用 scp 可以将文件移出来。此外,scp 非常节省资源,几乎不会增加系统负载,这一点上比起 rsync 要更为出色。虽然在某些情况下 rsyncscp 快一些,但是当面对大量小文件的情况时,rsync 会导致硬盘 I/O 较高,而 scp 基本上不会影响系统的正常使用。

语法

代码语言:javascript复制
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(文件名为目标文件的名称)。

实例

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

代码语言:javascript复制
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 到本地目录:

代码语言:javascript复制
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 安装文件到当前的本地目录。

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

代码语言:javascript复制
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/

以上命令将从 10.10.10.10 机器上的 /opt/soft/ 目录中下载 mongodb 目录到本地的 /opt/soft/ 目录中。

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

代码语言:javascript复制
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest
代码语言:javascript复制
# 指定端口 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 目录。

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

代码语言:javascript复制
scp -r /opt/soft/mongodb root@10.10.10.10:/opt/soft/scptest

以上命令将本地目录 /opt/soft/mongodb 上传到位于远程机器 10.10.10.10 上的 /opt/soft/scptest 目录中。

0 人点赞