scp ​​命令​​​是用于通过 SSH 协议安全地将文件复制到远程系统和从远程系统复制文件到本地的​​命令​​。使用 SSH 意味着它享有与 SSH 相同级别的数据加密,因此被认为是跨两个远程主机传输文件的安全方式。

基本语法

下面提供了 SCP 命令的基本语法:

$ scp [option] /path/to/source/file user@server-ip:/path/to/destination/directory

​/path/to/source/file​​ – 这是打算复制到远程主机的源文件。

​user@server-IP:​​ – 这是远程系统的用户名和 IP 地址。请注意 IP 地址后面加冒号。

​/path/to/destination/directory​​ – 这是文件将复制到的远程系统上的目标目录。

以下是scp命令常用的几个选项:

  • ​-C​​ - 这会在复制过程中压缩文件或目录。
  • ​-P​​ - 如果默认 SSH 端口不是 22,则使用此选项指定 SSH 端口。
  • ​-r​​ - 此选项递归复制目录及其内容。
  • ​-p​​ - 保留文件的访问和修改时间。

将文件复制到远程 Linux 服务器

在下面的示例中,我将logs.tar.gz 复制到远程主机的/root目录下。主机IP为192.168.43.137,用户名为root。

[root@server1 ~]# scp logs.tar.gz root@192.168.43.137:/root

scp命令使用方法_用户名

如果要复制目录,请使用​​-r​​选项,如下所示。在这里,我们将 /root/syslog目录复制到远程节点的/root目录中。

[root@server1 ~]# scp -r syslog root@192.168.43.137:/root

scp命令使用方法_html_02

如果不添加​​-r​​选项复制目录,会提示如下错误。

[root@server1 ~]# scp syslog root@192.168.43.137:/root
root@192.168.43.137's password:
syslog: not a regular file

scp命令使用方法_linux_03

将文件从远程系统复制到本地系统

可以将文件从远程节点复制到本地系统,如下所示:

$ scp [option] user@server-ip:/path/to/source/file/path/to/local/directory

在下面的示例中,我们将文件 ​​/root/passwd​​从远程系统复制到本地系统:

[root@server1 ~]# scp root@192.168.43.137:/root/passwd /root/

scp命令使用方法_html_04

同样,你可以使用​​-r​​标志将目录从远程主机复制到本地系统,如图所示。

[root@server1 ~]# scp -r root@192.168.43.137:/root/scripts /root/

scp命令使用方法_用户名_05

www.51cto.com/it/news/2020/0407/19877.html

www.donews.com/news/detail/4/2982630.html

www.pcpop.com/doc/4/4498/4498652.shtml

有关使用 ​​scp​​​ 命令的更多选项,可以查看手册,命令是:​​man scp​

scp命令使用方法_用户名_06

总结

Linux SCP 命令是一种在两个远程节点之间传输文件的便捷且安全的方式,而无需担心者窥探你的数据。