> 网络管理 > scp

完全征服 scp 命令

这是关于在 Linux 中使用安全复制协议 (SCP) 的 `scp` 命令的指南,用于在本地和远程主机之间安全地复制文件。通过这个工具,可以轻松安全地进行网络文件传输。

主要选项

通过组合 `scp` 命令的各种选项来设置文件传输任务。

1. 基本传输

2. 传输选项

生成的命令:

请尝试组合命令。

描述:

`scp` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

理解语法和路径

`scp` 命令使用“源”和“目标”两个关键参数,这些参数可以是本地路径或远程路径。远程路径以 `[user@]host:path` 的格式表示。

SCP 语法

`scp [选项] [源] [目标]` - **源 (Source)**: 要复制的源文件或目录。 - **目标 (Destination)**: 要复制文件的目标文件或目录。

路径指定方式

区分本地路径和远程路径的指定方式。

  • 本地路径: 一般文件系统路径(例如:`/home/user/document.txt` 或 `.`)
  • 远程路径: `[用户名@]主机名_或_IP地址:/远程/路径` 格式(例如:`user@example.com:/var/www/html/`)

认证与安全

`scp` 基于 SSH 协议,因此在文件传输时是加密的,确保安全。要访问远程主机,需要与 SSH 相同的用户名/密码或通过 SSH 密钥进行认证。

使用示例

通过 `scp` 命令的实用使用示例来练习文件传输任务。

将本地文件复制到远程服务器

scp report.txt user@myserver.com:/home/user/

将当前目录的 `report.txt` 文件复制到远程服务器 `myserver.com` 的 `/home/user/` 目录。

将远程服务器的文件复制到本地

scp user@myserver.com:/var/log/syslog .

将远程服务器 `myserver.com` 的 `/var/log/syslog` 文件复制到当前本地目录(`.`)。

递归复制本地目录到远程服务器

scp -r my_project user@myserver.com:/var/www/

将当前目录的 `my_project` 目录整体复制到远程服务器 `myserver.com` 的 `/var/www/` 目录。

使用特定端口复制文件

scp -P 2222 backup.tar.gz user@myserver.com:/backups/

将 `backup.tar.gz` 文件复制到 SSH 端口为 2222 的远程服务器。

使用认证密钥文件复制文件

scp -i ~/.ssh/my_key data.sql user@myserver.com:/db_dumps/

使用指定的 SSH 私钥(`~/.ssh/my_key`)将 `data.sql` 文件复制到远程服务器。


相同类别命令