使用 unzip -d 指定目标目录解压,目录须预先创建(可用 mkdir -p);覆盖策略用 -o(强制)或 -n(跳过);路径含空格或中文需加双引号;-l 查看内容,-j 平铺解压,密码解压建议交互式输入。

直接用 -d 参数指定目标目录就行。比如要把 app.zip 解压到 /opt/myapp,命令就是:
unzip app.zip -d /opt/myapp
注意目标目录必须已存在,否则会报错。
目标目录要提前创建
unzip 不会自动建父目录。如果 /opt/myapp 不存在,先运行:
mkdir -p /opt/myapp
-p 能确保逐级创建完整路径,即使中间目录也一并生成。
处理同名文件的策略
解压时若目标目录已有同名文件,unzip 默认会逐个询问是否覆盖。想跳过提示,可用:
-
-o:强制覆盖(不问直接写入) -
-n:跳过已存在的文件(保留原文件)
例如自动覆盖:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
unzip app.zip -d /opt/myapp -o
路径含空格或中文要加引号
比如压缩包叫 我的项目.zip 或目标路径是 /home/user/下载/工具包,务必用双引号包裹:
unzip "我的项目.zip" -d "/home/user/下载/工具包"
否则 shell 会把空格当作分隔符,导致命令解析错误。
其他实用搭配
- 查看压缩包内容再解压:
unzip -l app.zip - 解压时不还原原始目录结构(全扔进目标目录平铺):加
-j,如unzip app.zip -d /tmp -j - 密码解压(避免明文密码泄露):不加
-P,让 unzip 交互式提示输入,更安全
不复杂但容易忽略










