主要选项
通过组合 `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` 文件复制到远程服务器。