关于传输文件命令wget,scp(基于ssh) 作者: ynnddddd 时间: 2025-03-11 分类: 学业,网络安全,渗透工具与命令 以下是 **`wget`** 和 **`scp`** 命令的简明总结,涵盖核心功能、语法和常见用法。 --- ### **1. `wget` 命令** **功能**:用于从网络(HTTP/HTTPS/FTP 等协议)下载文件,支持断点续传、递归下载等。 #### **基本语法** ```bash wget [选项] URL ``` #### **常用选项** | 选项 | 描述 | |--------------|----------------------------------------------------------------------| | `-O 文件名` | 指定输出文件名(默认使用 URL 中的文件名)。 | | `-c` | 断点续传,继续未完成的下载。 | | `-r` | 递归下载整个目录(适用于网站镜像)。 | | `--limit-rate=速率` | 限制下载速度(例如 `--limit-rate=1M` 表示 1MB/s)。 | | `-b` | 后台下载,输出日志到 `wget-log` 文件。 | #### **示例** 1. 下载单个文件: ```bash wget https://example.com/file.zip ``` 2. 下载并重命名文件: ```bash wget -O new_name.zip https://example.com/file.zip ``` 3. 断点续传: ```bash wget -c https://example.com/large_file.iso ``` 4. 递归下载整个网站: ```bash wget -r -np -k https://example.com/ # -np: 不追溯父目录;-k: 调整链接为本地路径 ``` --- ### **2. `scp` 命令** **功能**:基于 SSH 协议,在本地与远程主机(或两个远程主机)之间安全地复制文件/目录。 #### **基本语法** ```bash scp [选项] 源路径 目标路径 ``` #### **常用选项** | 选项 | 描述 | |--------------|----------------------------------------------------------------------| | `-P 端口` | 指定远程主机的 SSH 端口(默认 22)。 | | `-r` | 递归复制目录。 | | `-i 私钥文件`| 指定 SSH 私钥文件(用于密钥认证)。 | | `-C` | 启用压缩传输,加快速度。 | | `-q` | 静默模式,不显示进度信息。 | #### **示例** 1. 从本地复制文件到远程主机: ```bash scp file.txt user@remote_host:/path/to/destination/ ``` 2. 从远程主机复制文件到本地: ```bash scp user@remote_host:/path/to/file.txt /local/directory/ ``` 3. 复制整个目录(递归): ```bash scp -r /local/folder user@remote_host:/remote/path/ ``` 4. 指定非默认端口(如 2222): ```bash scp -P 2222 file.txt user@remote_host:/path/ ``` 5. 通过密钥认证复制: ```bash scp -i ~/.ssh/id_rsa private_file user@remote_host:~ ``` --- ### **关键区别** | 特性 | `wget` | `scp` | |---------------|---------------------------------|--------------------------------| | **用途** | 从网络下载文件(HTTP/FTP 等)。 | 本地与远程主机间安全复制文件。 | | **协议** | HTTP/HTTPS/FTP 等。 | SSH 协议(加密传输)。 | | **递归操作** | 支持(`-r` 下载整个网站)。 | 支持(`-r` 复制目录)。 | | **传输方向** | 仅从网络到本地。 | 支持双向(本地 <-> 远程)。 | | **依赖服务** | 需目标服务器提供 HTTP/FTP 服务。| 需远程主机开启 SSH 服务。 | --- ### **使用场景** - **`wget`**:下载公开的文件、网页镜像、批量资源获取。 - **`scp`**:安全传输文件到远程服务器、备份数据、跨主机同步文件。 如果需要更高级的传输工具,可以尝试: - `rsync`(支持增量同步和更高效的传输)。 - `curl`(类似 `wget`,但更侧重 API 交互和数据传输)。 标签: none