先看文件后缀再选命令:.zip用unzip,.tar.gz用tar -zxvf,.gz用gunzip;压缩时zip加-r递归,tar加-z或-j打包压缩,gzip加-k保留原文件。

Linux 解压缩不难,关键看清楚文件后缀和用对命令。常见格式就三类:zip、tar 系列(如 .tar.gz、.tar.bz2)、单文件压缩(如 .gz、.bz2)。下面按实用场景讲清楚怎么压、怎么解、怎么查内容。
zip 文件:简单直接,跨平台通用
zip 是最兼容的格式,Windows 和 Linux 都能直接处理,适合传文件给他人或备份小项目。
-
压缩目录或多个文件:用
zip -r archive.zip dir1 file.txt,-r表示递归包含子目录 -
解压到当前目录:直接
unzip archive.zip -
解压到指定目录:加
-d参数,比如unzip archive.zip -d /tmp/backup -
只看里面有什么,不解压:用
unzip -l archive.zip -
覆盖时跳过确认:加
-o,例如unzip -o archive.zip
tar 系列:Linux 默认打包方式,.tar.gz 最常用
tar 本身不压缩,只是把文件“打包”;加上 -z(gzip)、-j(bzip2)或 -J(xz)才真正压缩。后缀名是重要提示:.tar.gz = tar + gzip,.tar.xz 压缩率更高但稍慢。
-
打包并 gzip 压缩(生成 .tar.gz):
tar -zcvf backup.tar.gz /home/user/docs -
解压 .tar.gz 到当前目录:
tar -zxvf backup.tar.gz -
解压到指定目录(比如 /opt/app):加
-C,注意空格和路径间不能有空格:tar -zxvf backup.tar.gz -C /opt/app -
只看压缩包里有哪些文件:把
x换成t,即tar -ztvf backup.tar.gz -
排除某些文件再打包:比如跳过日志和缓存目录:
tar -zcvf site.tar.gz --exclude="logs" --exclude="cache" /var/www/site
gzip / bzip2 / xz 单文件压缩:适合已知是单个大文件
这类命令只处理单个文件,不能直接打包目录。常见于日志文件(access.log.gz)或数据库导出文件。
-
压缩单个文件为 .gz:
gzip file.txt→ 生成file.txt.gz,原文件被删 -
保留原文件再压缩:加
-k,即gzip -k file.txt -
解压 .gz 文件:
gunzip file.txt.gz或gzip -d file.txt.gz -
对应 bzip2(.bz2)和 xz(.xz):命令结构一致,只是换命令名:
bzip2/bunzip2、xz/unxz
基本上就这些。判断一个压缩包该用哪个命令,先看后缀:.zip → unzip;.tar.gz / .tgz → tar -zxvf;.gz → gunzip;.tar.xz → tar -Jxvf。记牢几个核心参数(c/x/z/j/J/f/v/C),组合起来就灵活了。










