当前位置:首页>Linux>Linux 压缩解压命令(日常运维全覆盖)

Linux 压缩解压命令(日常运维全覆盖)

  • 2026-09-17 14:39:46
Linux 压缩解压命令(日常运维全覆盖)
在 Linux(银河麒麟、Ubuntu、Debian 等)系统运维、文件备份、站点迁移、资料归档场景中,压缩和解压是最高频的基础操作。很多新手容易混淆zip、tar.gz、7z、rar各类格式的命令用法,时常出现解压失败、目录错乱、文件丢失、权限异常等问题。
本文整理生产环境通用、零报错、带完整示例的压缩解压命令,覆盖 99% 日常办公、服务器运维场景,同时附带参数详解、场景适配、避坑要点,可直接收藏复用。

一、先搞懂:主流压缩格式区别

不同压缩格式适配场景完全不同,选对格式能大幅提升工作效率:
zip:跨平台通用,Windows/Linux/Mac 完美兼容,压缩速度快,日常文件传输首选,默认系统大多预装工具
tar.gz(tgz):Linux 标准格式,打包+压缩一体化,性能稳定、兼容性极强,服务器备份、站点归档、项目迁移首选
tar.bz2:压缩率更高、体积更小,但压缩解压速度慢,适合大容量静态文件归档
7z:压缩率最高,极致节省存储空间,适合长期备份、大容量文件打包,需手动安装工具
rar:Windows 专属格式,Linux 仅支持解压,不推荐用于 Linux 环境打包

二、ZIP 格式操作(跨平台通用)

zip 是日常文件互传最常用格式,支持多文件、多目录打包,保留文件权限与目录结构,几乎无兼容性问题。

1. 安装工具(未预装时执行)

sudo apt install zip unzip -y

2. 压缩实操示例

压缩单个文件

zip test.zip test.txt

压缩多个文件

zip file.zip 1.txt 2.jpg 3.pdf

递归压缩整个文件夹(重点:必须加 -r)

zip -r blog.zip hexo-blog/

压缩文件夹并排除指定目录/文件(备份常用,忽略缓存依赖)

zip -r blog.zip hexo-blog/ -x "node_modules/*" ".git/*"

3. 解压实操示例

解压到当前目录

unzip blog.zip

解压到指定文件夹(-d 指定目标路径)

unzip blog.zip -d /mnt/usb/backup/

解压时覆盖已有文件,无需询问

unzip -o blog.zip

三、TAR.GZ 格式操作(Linux 标准首选)

tar.gz 是 Linux 服务器官方标配格式,无需额外安装依赖,打包压缩速度均衡、稳定性拉满,适合项目、站点、系统文件批量备份。

1. 核心参数速记(必背)

c:创建压缩包
x:解压压缩包
z:启用 gzip 压缩
v:显示执行过程(可省略,静默执行去掉 v)
f:指定压缩包文件名(必须放在所有参数最后)
-C:大写,指定解压目标目录

2. 压缩实操示例

标准压缩文件夹

tar -zcvf blog.tar.gz hexo-blog/

压缩单个文件

tar -zcvf doc.tar.gz readme.md

压缩并排除指定目录(备份过滤依赖、缓存)

tar -zcvf blog.tar.gz hexo-blog/ --exclude="node_modules" --exclude=".git"

3. 解压实操示例

解压到当前目录

tar -zxvf blog.tar.gz

解压到指定目录(重点:-C 大写)

tar -zxvf blog.tar.gz -C /mnt/usb/

静默解压(不输出日志,后台执行)

tar -zxcf blog.tar.gz

四、TAR.BZ2 高压缩率格式

相较于 tar.gz,tar.bz2 压缩率更高,文件体积更小,缺点是压缩、解压耗时更长,适合静态大文件、长期归档备份场景。

1. 压缩命令

tar -jcvf blog.tar.bz2 hexo-blog/

2. 解压命令

tar -jxvf blog.tar.bz2 -C ~/文档/

五、7Z 超高压缩格式(极致省空间)

7z 拥有目前主流格式中最高的压缩率,能最大程度缩小文件体积,适合大容量资料、长期备份存储,需手动安装工具。

1. 安装工具

sudo apt install p7zip-full -y

2. 压缩、解压示例

压缩文件夹/文件

7z a blog.7z hexo-blog/

解压(自动识别目录结构,保留原文件属性)

7z x blog.7z
参数说明:a代表添加文件到压缩包,x代表完整解压(保留目录结构)。

六、RAR 格式解压(Windows 专属)

日常常会收到 Windows 打包的 rar 压缩包,Linux 仅支持解压,不建议用 rar 格式做 Linux 环境文件打包。

1. 安装解压工具

sudo apt install unrar -y

2. 解压示例

unrar x 资料压缩包.rar

七、运维高频实用场景(直接复用)

场景1:Hexo 博客项目备份(最常用)

打包博客项目,过滤冗余依赖,节省空间

tar -zcvf hexo-backup.tar.gz ~/hexo-blog --exclude="node_modules" --exclude=".git"

解压恢复到本地目录

tar -zxvf hexo-backup.tar.gz -C ~/

场景2:打包站点文件部署到 Nginx

压缩静态站点文件

zip -r web.zip public/

解压到网站根目录

sudo unzip web.zip -d /var/www/html/

场景3:U盘文件批量归档备份

压缩U盘文件并归档

tar -zcvf /mnt/usb/file-backup.tar.gz ~/文档/

八、关键避坑总结(新手必看)

zip 压缩文件夹必须加 -r:不加递归参数,只会打包空文件夹,丢失所有子文件
tar 命令参数 f 放最后:参数顺序错误会直接命令失效、解压失败
解压指定目录大写 -C:小写 c 是创建目录,无法指定解压路径,是高频易错点
备份优先 tar.gz:Linux 服务器首选格式,稳定无乱码、无权限丢失
跨平台传输优先 zip:Windows、手机、Mac 均可直接打开,无需额外工具
大文件长期备份用 7z:极致压缩体积,节省磁盘与存储空间

九、总结

掌握以上命令,足以应对 Linux 系统下文件备份、项目迁移、站点部署、资料归档、U盘传输所有场景。无需记忆复杂参数,记住核心适配规则:跨平台传文件用 zip、服务器备份用 tar.gz、长期存文件用 7z,结合本文示例直接复用,高效零报错完成压缩解压操作。

最新文章

随机文章