在 Linux 系统中,无论是服务器运维还是本地开发,我们经常需要将大量的文件或文件夹打包压缩,以节省磁盘空间或方便数据传输,虽然图形界面提供了压缩功能,但在服务器环境下,熟练掌握Linux 下压缩文件夹命令行是每一位开发者必备的技能。
本文将详细介绍 Linux 中最常用的三种压缩命令:tar.gz、zip 和 7z,并附带参数解析和常见注意事项。
最经典的格式:tar.gz
.tar.gz 是 Linux 下最标准、兼容性最好的压缩格式,它结合了 tar(打包)和 gzip(压缩)两种功能。

命令格式:
tar -czvf 压缩包名.tar.gz 要压缩的文件夹路径
参数详解:
-c:create,创建一个新的压缩包。-z:gzip,调用 gzip 进行压缩。-v:verbose,显示压缩过程的详细信息(推荐加上,可以看到文件正在被处理)。-f:file,指定文件名(注意:-f参数必须放在其他参数的最后面)。
实战示例:
假设我们要压缩当前目录下的 data 文件夹,生成一个名为 backup.tar.gz 的文件:
tar -czvf backup.tar.gz data/
解压命令(顺便提一下):
tar -xzvf backup.tar.gz
Windows 兼容的格式:zip
如果你需要将文件发送给 Windows 用户,或者在不同操作系统之间传输,.zip 格式是最方便的,因为它不需要安装额外的解压工具即可打开。
命令格式:
zip -r 压缩包名.zip 要压缩的文件夹路径
参数详解:
-r:recursive,递归处理,表示将指定目录下的所有文件和子目录一起压缩,如果不加-r,zip默认只压缩当前目录下的文件,不会深入子目录。
实战示例:
压缩 project 文件夹为 project.zip:
zip -r project.zip project/
解压命令:
unzip project.zip
高压缩率的格式:7z
如果你追求极致的压缩率,希望生成的文件体积最小,7z 格式是首选,它的压缩算法非常先进,通常比 tar.gz 再压缩 20%-30%。
命令格式:
7z a 压缩包名.7z 要压缩的文件夹路径
参数详解:
a:add,添加文件到压缩包中。
实战示例:
压缩 source 文件夹为 source.7z:
7z a source.7z source/
解压命令:
7z x source.7z
常见避坑指南
在使用 Linux 命令行压缩时,有几个细节非常容易出错:
-
路径的区别:
tar -czvf backup.tar.gz data:只会压缩当前目录下的data文件夹。tar -czvf backup.tar.gz ./data:效果同上。tar -czvf backup.tar.gz /home/user/data:会将/home/user/data里面的内容解压到根目录下(非常危险!),而不是压缩整个路径。- 建议:尽量使用相对路径,或者确保目标路径正确。
-
特殊字符的处理: 如果你的文件夹名称中包含空格或特殊符号(如
My Files (2023)),建议给文件夹名加上引号,防止命令解析错误:tar -czvf backup.tar.gz "My Files"
-
安装依赖: 如果
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

