Linux压缩解压命令从入门到实战:零基础也能轻松掌握

前置准备


在开始使用 Linux压缩解压命令 之前,你需要确保:



  • 系统环境:任意 Linux 发行版(Ubuntu、CentOS、Debian 等)均可,本文基于 Ubuntu 22.04 演示。

  • 必需软件:大多数 Linux 系统已预装 targzipbzip2zip/unzip。如果没有,可通过以下命令安装:


  # Debian/Ubuntu
sudo apt update
sudo apt install zip unzip bzip2 -y

CentOS/RHEL

sudo yum install zip unzip bzip2 -y



  • 操作目录:建议在 /tmp 或自己的家目录下创建练习文件夹,避免误操作。


  mkdir -p ~/compress_demo
cd ~/compress_demo


  • 权限提醒:普通用户即可操作,如需解压到系统目录(如 /usr/local)时可能需要 sudo


---


分步操作


1. 打包与压缩:tar + gzip / bzip2


tar 本身只打包不压缩,常与 gzipbzip2 配合生成 .tar.gz.tar.bz2 文件。


创建压缩包(以 .tar.gz 为例):


# 准备测试文件
echo "Hello Linux" > file1.txt
echo "Compress demo" > file2.txt

打包并压缩

-c 创建包 -z gzip压缩 -v显示过程 -f指定文件名

tar -czvf my_archive.tar.gz file1.txt file2.txt


执行后你会看到输出,列出被添加的文件。


解压到当前目录


tar -xzvf my_archive.tar.gz

解压到指定目录(例如 ~/output):


mkdir -p ~/output
tar -xzvf my_archive.tar.gz -C ~/output

如果使用 bzip2 压缩,命令类似,只需将 -z 换成 -j

tar -cjvf my_archive.tar.bz2 file1.txt file2.txt

解压时用 tar -xjvf my_archive.tar.bz2

2. 单独使用 gzip / bzip2 压缩文件


这两个命令只能压缩单个文件,不能打包目录。


# 压缩 file1.txt,生成 file1.txt.gz
gzip file1.txt

解压

gunzip file1.txt.gz

bzip2 用法相同

bzip2 file2.txt
bunzip2 file2.txt.bz2


注意:压缩后原文件会被删除,保留压缩文件;

解压则会删除压缩文件还原原文件。

若想保留原文件,可使用 -k 选项:


gzip -k file1.txt   # 保留 file1.txt

3. 使用 zip 进行跨平台压缩


zip 同时支持打包和压缩,且与 Windows 兼容性最好。


# 压缩当前目录所有 .txt 文件为 demo.zip
zip demo.zip *.txt

解压到当前目录

unzip demo.zip

解压到指定目录

unzip demo.zip -d ~/my_zip_output


查看压缩包内容而不解压:


unzip -l demo.zip

---


避坑指南



  1. 路径陷阱:使用相对路径打包时,解压会在当前目录释放,可能导致文件散落。建议打包前先进入父目录,指定相对路径,或使用 -C 选项控制。

  2. 权限保留tar 默认保留权限,但 zip 默认不保留。如需保留文件权限,使用 zip -r 配合 --symlinks 等,但最可靠仍是 tar

  3. 忽略文件/目录:使用 --exclude 排除不需要的内容:


   tar -czvf backup.tar.gz --exclude='node_modules' --exclude='*.log' my_project/


  1. 磁盘空间不足:解压前用 unzip -ltar -tzf 查看包内总大小,确保有足够空间。

  2. 符号链接问题zip 默认对符号链接只压缩链接本身,而非指向的目标文件。使用 zip -y 可保留链接但部分场景可能出错,建议先用 tar 处理。


---


高频问题解答



  • Q1:如何查看 tar 包的内容而不解压?


A:使用 tar -tzf my_archive.tar.gz(gzip)或 tar -tjf my_archive.tar.bz2(bzip2)。



  • Q2:zip 压缩后文件比原文件还大?


A:正常现象。

图片、视频等本就压缩过的文件,再压缩效果有限甚至变大。

可尝试使用 -9 最大压缩级别(zip -9 archive.zip files)。



  • Q3:解压时报“Permission denied”怎么办?


A:目标目录没有写权限。

使用 sudo 解压到系统目录,或改为自己的家目录。



  • Q4:tar 打包时如何排除多个文件或目录?


A:使用多个 --exclude 参数。

例如:tar -czvf backup.tar.gz --exclude='*.tmp' --exclude='cache/' /data


---


效果验证


操作完成后,可以这样确认压缩解压是否成功:



  1. 查看压缩文件大小ls -lh 观察 .tar.gz.zip 文件大小是否合理(明显小于原文件总和)。

  2. 解压后对比内容:解压到新目录,用 diff 对比原文件(如果原文件还在):


   diff -r original_dir/ extracted_dir/

若无输出说明完全一致。



  1. 检查文件完整性:对 .tar.gz 文件可使用 gunzip -t 测试(不推荐直接测试 tar 包,避免误伤),更稳妥是重新解压并对比。

  2. 验证命令是否可用:输入 tar --versiongzip --versionzip --version 确认工具正常。


如果你正在处理 Linux压缩解压命令,建议先按本文步骤在测试目录完整执行,再根据自己的需求微调;

遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
宝塔面板一键迁移网站,这六个步骤帮你轻松搬站(零基础版)
下一篇
宝塔面板FFmpeg安装教程:零基础也能搞定视频处理环境
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意