wget · 网络搬运工

上游:apt(先知道软件管理,再了解手动下载)· ls(确认下载到哪里) 下游:unzip(下载 .zip 后解压)· tar(下载 .tar.gz 后解包)· find(找到下载的文件) 参见:curl(wget 的兄弟,功能不同,各有擅长)


一句话是什么

wget 从互联网下载文件到你的电脑——给它一个网址, 它去帮你把文件搬回来,不需要打开浏览器。


为什么需要它

在 Linux 服务器上没有浏览器,下载文件只能用命令行。 即使有浏览器,用命令行下载更快,而且可以自动化。

# Windows/Mac 方式:打开浏览器 → 找下载链接 → 点击 → 等待
# Linux 方式:
wget https://www.minecraft.net/en-us/download/server/bedrock

真实场景

  • 下载 Minecraft Bedrock Server(从官网获取直接链接)
  • 下载某个软件的安装包(不在 apt 仓库里的)
  • 批量下载一系列文件
  • 在没有桌面的服务器上下载文件


核心用法

公式

wget [选项] 网址

常用命令表

操作命令说明
直接下载wget 网址下载到当前目录,文件名自动取
指定文件名wget -O 文件名 网址保存为你指定的名字
断点续传wget -c 网址下载中断后继续(不重头来)
后台下载wget -b 网址挂后台,不占用终端
限速下载wget --limit-rate=1M 网址限制 1MB/s,不占满带宽
下载到指定目录wget -P ~/Downloads/ 网址保存到 Downloads
查看进度wget -q --show-progress 网址安静模式但显示进度条

Linux 笑话

Aaron 想下载 Minecraft Bedrock Server,爸爸说: “找到下载链接,用 wget 下载。”

Aaron 去官网,右键点击下载按钮,复制链接, 然后跑回终端:

wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.21.0.01.zip

满屏数字开始滚动:

Connecting to minecraft.azureedge.net... connected.
HTTP request sent, awaiting response... 200 OK
Length: 150234567 (143M) [application/zip]
Saving to: 'bedrock-server-1.21.0.01.zip'

bedrock-server-1.21.0.01.zip
  15% [====>                ] 22.1M  5.00MB/s  eta 24s

Aaron 盯着进度条,第一次感觉到: “命令行下载比浏览器下载更有掌控感。”

数字一直在动,他知道发生了什么,而不是浏览器那个转圈圈。


例题精讲

📗 初探 Starter — 下载一个小文件练手

任务:下载 Ubuntu 官方的一个测试文件,练习 wget 的基本用法。

# 第一步:确认 wget 有没有安装
which wget
# 如果没有:
sudo apt install wget
 
# 第二步:下载一个小文件(Ubuntu 的 README)
wget http://archive.ubuntu.com/ubuntu/README
 
# 第三步:看看下载到哪里了
ls -la README
 
# 第四步:看看里面是什么
cat README
 
# 第五步:指定文件名重新下载
wget -O ubuntu-readme.txt http://archive.ubuntu.com/ubuntu/README
ls -la ubuntu-readme.txt

你学到了什么wget 网址 最简单用法,-O 改文件名。 下载的文件保存在当前目录(你 pwd 的位置)。


📘 应用 User — 断点续传下载大文件

任务:模拟下载大文件,中途中断,然后续传。

# 下载一个大文件(Linux 内核,约 120MB,仅练习用)
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz
 
# 如果下载中途 Ctrl+C 中断了,不要重新下载
# 用 -c 续传
wget -c https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz
 
# wget 会检测已下载的部分,从断点继续
# 输出:
# Continuing in background, pid 1234.
# File 'linux-6.6.tar.xz' already there; not retrieving.
# 或者显示从多少字节开始继续

你学到了什么-c(continue)是下载大文件的救命选项。 网络不稳定时,下到一半断了不用哭,-c 续传就好。


📙 管理 Admin — 定期自动下载更新包

任务:写一个简单命令,检查并下载最新的 Minecraft 服务器版本。

# 先确认服务器版本文件位置(从 Minecraft 官网获取直接链接)
# 注意:Minecraft 的下载链接会变化,以下为示意
 
# 下载最新版(覆盖旧版)
wget -O ~/Downloads/bedrock-server-latest.zip \
     "https://minecraft.azureedge.net/bin-linux/bedrock-server-1.21.0.01.zip"
 
# 下载完验证文件大小
ls -lh ~/Downloads/bedrock-server-latest.zip
 
# 配合 md5sum 验证完整性(如果官网提供校验码)
md5sum ~/Downloads/bedrock-server-latest.zip

你学到了什么

  • -O 固定文件名(每次下载都叫 bedrock-server-latest.zip,不会堆积多个版本)
  • 下载后用 ls -lh 确认文件大小合理(太小 = 下载失败)
  • 真实环境里 Minecraft 链接需要从官网获取,会定期更新

官方文档参考

man wget         # 完整手册
wget --help      # 快速选项列表

GNU Wget 支持 HTTP/HTTPS/FTP,non-interactive,适合脚本和服务器环境。 在线:https://www.gnu.org/software/wget/manual/wget.html


节点链接

上游(先了解这些)

  • apt ← 知道软件管理,理解为什么有时候不用 apt 要用 wget
  • ls ← 确认下载到哪里了
  • cd ← 切换到下载目录

同层(wget 的兄弟)

  • curl ← curl 和 wget 都能下载,curl 更灵活,wget 更简单 ← 规律:下文件用 wget,API 请求用 curl

下游(下载完之后)

  • unzip ← .zip 文件用 unzip 解压
  • tar ← .tar.gz 文件用 tar 解包
  • find ← 找到下载的文件
  • chmod ← 给下载的可执行文件加权限

实战


节点版本:v1.0 · 2026-04-20 下一个节点建议:curlping