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

使用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/

也可以排除多个模式:

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目录压缩任务。关键是根据实际需求选择是否排除文件、调整压缩级别,以及合理命名和管理压缩包。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享