Linux / macOS 环境下解压 ZIP 文件的标准命令与常用变体

以下为 Linux / macOS 环境下解压 ZIP 文件的标准命令与常用变体,按工程使用频率整理。


一、最常用解压命令

bash 复制代码
unzip file.zip

说明:

  • 解压到 当前目录
  • 自动创建 ZIP 内部的目录结构

二、解压到指定目录(最常用)

bash 复制代码
unzip file.zip -d /path/to/output_dir

示例:

bash 复制代码
unzip data_20251222.zip -d /home/qzq/data/

三、查看 ZIP 内容(不解压)

bash 复制代码
unzip -l file.zip

用于:

  • 确认内部文件名
  • 判断是否路径过深 / 文件名过长

四、覆盖 / 不覆盖策略(重要)

1️⃣ 覆盖已存在文件(不询问)

bash 复制代码
unzip -o file.zip

2️⃣ 不覆盖已存在文件

bash 复制代码
unzip -n file.zip

五、处理中文乱码(非常关键)

如果 ZIP 是 Windows / GBK 编码 生成的(你这个场景很常见):

bash 复制代码
unzip -O GBK file.zip

或(部分系统):

bash 复制代码
unzip -O CP936 file.zip

六、只解压指定类型文件

bash 复制代码
unzip file.zip "*.jpg"

解压到指定目录:

bash 复制代码
unzip file.zip "*.jpg" -d images/

七、排除指定文件/目录

bash 复制代码
unzip file.zip -x "__MACOSX/*"

八、路径过长 / 解压失败时的工程处理建议

如果你再次遇到类似:

复制代码
filename too long

建议流程:

bash 复制代码
mkdir /tmp/unzip_test
cd /tmp/unzip_test
unzip /path/to/file.zip

或:

bash 复制代码
unzip file.zip | head

先确认内部文件名长度。


九、如果系统没有 unzip

Ubuntu / Debian

bash 复制代码
sudo apt install unzip

CentOS / Rocky / Alma

bash 复制代码
sudo yum install unzip

相关推荐
MXsoft61823 分钟前
平台化是智能运维发展的必然趋势吗?
运维
ShirleyWang01235 分钟前
让headlamp控制台能访问
linux·服务器·python·k8s·k3s
liuccn1 小时前
Linux 存储系统:LVM 与直接分区
linux·运维
a4493153622 小时前
iPhone 基带故障诊断——无服务/搜索不到网络的芯片级维修实录
网络·macos·ios·电脑·iphone
xexpertS3 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
带娃的IT创业者3 小时前
突破内存瓶颈:利用 Nvidia GPU 显存作为 Linux Swap 空间的深度实践
linux·运维·服务器·nvidia·swap·gpu显存
zy happy3 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
LCG元3 小时前
嵌入式开发踩坑排查实战:从 STM32 外设初始化到 Linux SPI 驱动的 15 类硬件疑难故障深度复盘
linux·stm32·单片机
a4493153624 小时前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑
FoldWinCard4 小时前
云原生 --- lvs
运维·服务器·lvs