0

0

如何压缩Linux目录 tar结合gzip压缩技巧

P粉602998670

P粉602998670

发布时间:2025-08-12 09:06:02

|

713人浏览过

|

来源于php中文网

原创

使用tar -czf命令可打包并gzip压缩目录,生成.tar.gz文件;2. 通过gzip=-9可提高压缩级别至最高,减小体积但耗时增加;3. 使用--exclude参数可排除指定文件或目录,如日志、缓存等;4. 用tar -tzf查看压缩包内容,结合grep过滤所需文件;5. 结合find命令可压缩指定时间内修改的文件,实现简易增量备份;6. 添加-v参数可显示压缩过程中的文件列表,便于监控进度;掌握这些技巧可高效完成linux目录压缩、备份与管理任务。

如何压缩Linux目录 tar结合gzip压缩技巧

在Linux系统中,使用

tar
命令结合
gzip
压缩是一种非常常见且高效的目录压缩方式。它不仅能打包多个文件和目录,还能通过gzip算法减小体积,便于备份或传输。下面介绍几种实用的压缩技巧。


一、基本压缩命令:tar + gzip

最常用的命令格式如下:

tar -czf archive.tar.gz /path/to/directory

参数说明:

  • -c
    :创建新的归档文件
  • -z
    :使用gzip压缩(生成
    .tar.gz
    .tgz
    文件)
  • -f
    :指定归档文件名
  • /path/to/directory
    :要压缩的目录路径

例如,压缩当前目录下的

mydata
文件夹:

tar -czf mydata.tar.gz mydata/

这会生成一个名为

mydata.tar.gz
的压缩包。


二、提高压缩率:使用更高压缩级别

默认情况下,gzip使用压缩级别6(共1-9级),你可以通过设置环境变量

gzip
来调整压缩级别,以获得更小的文件体积(但耗时更长):

GZIP=-9 tar -czf mydata.tar.gz mydata/

说明:

  • GZIP=-9
    表示使用最高压缩比
  • -1
    最快但压缩率最低,
    -9
    最慢但最省空间
注意:对于已经压缩过的文件(如jpg、mp4、zip等),进一步压缩效果有限,建议只对文本、日志、源码等可压缩性强的数据使用高级别压缩。

三、排除特定文件或目录

有时你希望跳过某些不需要压缩的内容,比如缓存文件、日志或临时文件。可以使用

--exclude
参数:

tar -czf backup.tar.gz --exclude='*.log' --exclude='tmp/' --exclude='cache/' myproject/

也可以排除多个模式:

Veggie AI
Veggie AI

Veggie AI 是一款利用AI技术生成可控视频的在线工具

下载
tar -czf site.tar.gz --exclude='*.tmp' --exclude='*.swp' --exclude='node_modules' --exclude='.git' mywebsite/

提示:路径匹配是基于归档路径的,确保排除规则与实际路径一致。


四、查看压缩包内容而不解压

检查

.tar.gz
文件里有哪些文件,可以用:

tar -tzf archive.tar.gz
  • -t
    :列出归档中的文件
  • -z
    :表示使用gzip解压查看
  • -f
    :指定文件名

你还可以结合

grep
过滤结果:

tar -tzf mydata.tar.gz | grep '.txt'

五、仅压缩最近修改的文件(增量备份思路)

虽然

tar
本身不支持真正的增量备份,但可以通过时间条件配合
find
命令实现部分更新压缩:

find mydata/ -mtime -7 -type f | xargs tar -czf recent.tar.gz

这会把

mydata/
中7天内修改过的文件打成包(注意:目录结构可能不完整,需谨慎使用)。

更推荐的做法是使用

tar
的增量功能(通过
-g
参数配合 snapshot 文件),但相对复杂,适合定期自动化备份场景。


六、压缩时显示进度

如果你压缩的是大目录,可能想知道进度。虽然

tar
没有内置进度条,但可以加
-v
参数查看正在处理的文件:

tar -czvf backup.tar.gz my_large_dir/
  • -v
    :verbose 模式,列出每个被处理的文件

小技巧:如果想估算时间,可先测试压缩部分子目录,评估速度。


基本上就这些常用技巧。掌握

tar -czf
及其扩展选项,能高效完成大多数Linux目录压缩任务。关键是根据实际需求选择是否排除文件、调整压缩级别,以及合理命名和管理压缩包。

相关专题

更多
页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

403

2023.08.14

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

573

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

546

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号