unzip · 拆快递
上游:apt(先用 apt 装好 unzip)· ls(解压前看看压缩包里有什么)· cd(进入目标目录) 下游:find(找到解压出来的文件)· tar(处理 .tar.gz 格式)· chmod(解压完设置权限) 参见:wget(下载 .zip 文件)· curl(另一个下载工具)
一句话是什么
unzip 把 .zip 压缩包解压开来——就像拆快递,把压缩好的包裹还原成原来的文件和文件夹。
为什么需要它
你从网上下载东西,很多时候是一个 .zip 文件:
bedrock-server-1.21.0.zip ← Minecraft 服务器
software.zip ← 某个 Linux 程序
photos.zip ← 压缩的照片包
Windows 双击就能解压,Linux 命令行里需要 unzip 命令。
Ubuntu 默认没有安装 unzip(没错,需要先装):
sudo apt install unzip安装好之后,一条命令解压:
unzip bedrock-server-1.21.0.zip核心用法
公式
unzip [选项] 文件.zip [-d 目标目录]
常用命令表
| 操作 | 命令 | 说明 |
|---|---|---|
| 直接解压 | unzip 文件.zip | 解压到当前目录 |
| 解压到指定目录 | unzip 文件.zip -d ~/目标/ | 解压到指定位置 |
| 预览内容(不解压) | unzip -l 文件.zip | 列出压缩包里有什么 |
| 静默解压 | unzip -q 文件.zip | 不显示解压过程 |
| 覆盖已有文件 | unzip -o 文件.zip | 有同名文件直接覆盖 |
| 不覆盖 | unzip -n 文件.zip | 有同名文件就跳过 |
记忆口诀
先 -l 看清楚里面有什么
再决定解压到哪里
Linux 笑话
Aaron 下载了 Minecraft 服务器压缩包,兴奋地输入:
unzip bedrock-server.zip终端开始疯狂打印文件名,几百行一闪而过, 然后他发现——所有文件直接散落在当前目录, 跟他的学习文件混在一起了。
$ ls
任务A.md 任务B.md start.sh server.properties bedrock_server ...他花了 10 分钟把两件事的文件分开。
之后他学会了:
unzip bedrock-server.zip -d ~/mc-server/先建好文件夹,再解压进去。 拆快递之前,先准备好放东西的地方。
例题精讲
📗 初探 Starter — 先看再解压
任务:下载一个压缩包,先看里面有什么,再安全地解压。
# 第一步:确认 unzip 有没有安装
which unzip
# 如果没有输出,就装:
sudo apt install unzip
# 第二步:创建一个测试压缩包(我们自己造一个练手)
mkdir -p ~/练习/待解压
echo "这是文件1" > ~/练习/文件1.txt
echo "这是文件2" > ~/练习/文件2.txt
cd ~/练习
zip 练习包.zip 文件1.txt 文件2.txt
# 第三步:先看看压缩包里有什么
unzip -l 练习包.zip
# 输出:
# Length Date Time Name
# --------- ---------- ----- ----
# 15 2026-04-20 08:00 文件1.txt
# 15 2026-04-20 08:00 文件2.txt
# 第四步:解压到新目录
mkdir -p ~/练习/解压结果
unzip 练习包.zip -d ~/练习/解压结果/
# 第五步:确认解压成功
ls ~/练习/解压结果/你学到了什么:-l 先预览,-d 指定目录。
两步习惯能救你很多乱文件的麻烦。
📘 应用 User — 解压 Minecraft 服务器
任务:假设你已经下载了 BDS(Bedrock 专用服务器),解压并准备运行。
# 假设文件在 ~/Downloads/
ls ~/Downloads/
# bedrock-server-1.21.0.01-linux.zip
# 第一步:建好目标目录
mkdir -p ~/mc-server
# 第二步:先看里面有什么
unzip -l ~/Downloads/bedrock-server-1.21.0.01-linux.zip | head -20
# 会看到:bedrock_server, server.properties, start.sh 等
# 第三步:解压进 mc-server 目录
unzip ~/Downloads/bedrock-server-1.21.0.01-linux.zip -d ~/mc-server/
# 第四步:确认
ls ~/mc-server/
# bedrock_server server.properties start.sh ...
# 第五步:看 bedrock_server 的权限
ls -la ~/mc-server/bedrock_server你学到了什么:解压后可能需要 chmod 给可执行文件加上运行权限,
这就是 unzip → chmod 这条链的原因。
📙 管理 Admin — 批量解压 + 验证完整性
任务:解压多个文件并检查是否完整。
# 批量解压当前目录所有 .zip 文件
for f in *.zip; do
echo "解压 $f ..."
unzip -q "$f" -d "${f%.zip}/"
done
# 验证压缩包是否完整(没有损坏)
unzip -t 文件.zip
# 输出:
# testing: 文件1.txt OK
# testing: 文件2.txt OK
# No errors detected in compressed data in 文件.zip
# -t = test,测试但不真正解压你学到了什么:-t 选项是下载大文件后第一件要做的事——
确认下载完整,没有因为网络中断而损坏,再开始后续操作。
官方文档参考
man unzip # 完整手册
unzip --help # 快速选项列表
unzip支持 list / test / extract 三种模式;默认解压到当前目录。 在线:https://manpages.ubuntu.com/unzip
节点链接
上游(先做这些,才能用 unzip)
同层(经常一起用)
下游(解压之后接着干)
最终目标
- Minecraft-Bedrock-Server ← 解压 BDS 是这个任务的关键一步