网易首页 > 网易号 > 正文 申请入驻

别乱用tar!选错Linux压缩工具CPU跑满还扣绩效

0
分享至



在生产环境中,你是不是也遇到过这种尴尬:系统疯狂报“磁盘空间不足”,可老板就是不舍得批预算买新硬盘。

但是,压缩可不是随便敲个命令那么简单。压缩的本质,是用 CPU 的计算时间去换取宝贵的磁盘空间。如果你在业务高峰期,对着一个几十G的无用日志无脑来一个高强度压缩,瞬间把系统 CPU 跑满、导致线上服务卡死——恭喜你,直接喜提“故障单”一张,年终奖泡汤!

今天,咱们就来深扒一下 Linux 下最常用的四大压缩神器,对比它们的“压缩比”与“性能损耗”,并分享几个老手才知道的“黑科技”打包套路。

一、 压缩的底层原理:为什么有些文件“压不动”?

在讲工具之前,先普及一个高频面试题:为什么同样的压缩工具,压缩不同的文件,效果天差地别?

压缩算法最基本的思路,就是用更短的字符代替重复出现的字符串。 举个最通俗的例子:如果你的代码或日志里,“Sec-Core-Data”这个 13 字节的词出现了 1 万次,压缩引擎就会在后台做一个映射,把“Sec-Core-Data”替换成一个单字节字符“M”。 这样一来,原本需要占用 13万字节的空间,压缩后只占 1万字节,空间直接省了 13/1!

  • 适合压缩的文件:文本文件、源代码(.html、.txt、.log),因为里面有大量重复的字符和空格,压缩比能达到 10:1 甚至更夸张。
  • 不适合压缩的文件:.mp4 视频、.jpg 图片、以及加密后的数据。因为这些文件本身已经是高度压缩过的格式,你再怎么压,也是白白浪费 CPU。
二、 Linux 压缩界“四大天王”正面硬刚:谁才是性价比之王?

在 Linux 里,有四种主流的命令行压缩工具。我们找来了一个 11MB 的数据文件 test_data.bin,让它们当场PK一下。

1. 骨灰级选手:compress(后缀 .Z)

这个工具非常古老,现在很多系统默认都不装了(需要用 yum install ncompress 或 apt install ncompress 补装)。 它的压缩算法比较落后,压缩比也差。

  • 实操演示:

[root@security-core ~]# compress -c test_data.bin > test_data.bin.Z[root@security-core ~]# ls -lh test_data.bin*-rw-r--r--. 1 root root  11M Oct 25 10:00 test_data.bin-rw-r--r--. 1 root root 2.7M Oct 25 10:01 test_data.bin.Z
  • 结论:11M 压到了 2.7M,表现一般,现代运维基本不推荐使用。
2. 国民级标配:gzip(后缀 .gz)

gzip 是目前互联网最通用的压缩格式。你看 Nginx 官方源码包、各种开源软件,几乎全是 .tar.gz 格式。

  • 核心技巧:gzip 压缩默认会抹去源文件。如果你想保留源文件,必须加 -k 参数;或者使用 -9 参数榨干它的压缩极限(1-9档,9最高)。
  • 实操演示:

[root@security-core ~]# gzip -k -9 test_data.bin[root@security-core ~]# ls -lh test_data.bin*-rw-r--r--. 1 root root  11M Oct 25 10:00 test_data.bin-rw-r--r--. 1 root root 2.0M Oct 25 10:02 test_data.bin.gz
  • 老手玩法(管道流): gzip 支持标准输入输出,我们可以配合备份命令直接压缩落盘。比如备份数据库:

mysqldump -u root -p mydb | gzip > /backup/mydb_$(date +%F).sql.gz

这样数据在流经管道时就被压缩了,完全不占宿主机的临时磁盘空间,极度优雅!

3. 强力中生代:bzip2(后缀 .bz2)

bzip2 的压缩比比 gzip 更好,但压缩和解压的速度要慢不少。它也不是所有系统的标配,属于“选装配置”。

  • 实操演示:

[root@security-core ~]# bzip2 -k -9 test_data.bin[root@security-core ~]# ls -lh test_data.bin*-rw-r--r--. 1 root root  11M Oct 25 10:00 test_data.bin-rw-r--r--. 1 root root 1.7M Oct 25 10:03 test_data.bin.bz2
  • 结论:压到了 1.7M,比 gzip 更小,但如果遇到大文件,你会明显感到命令行卡顿。
4. 终极空间杀手:xz(后缀 .xz)

xz 采用了类似于 Windows 7-Zip 的压缩算法。它的压缩比高得惊人,Linux 内核官方(kernel.org)现在发布的源码包全改用 .tar.xz 了。

  • 实操演示:

[root@security-core ~]# xz -k -9 test_data.bin[root@security-core ~]# ls -lh test_data.bin*-rw-r--r--. 1 root root  11M Oct 25 10:00 test_data.bin-rw-r--r--. 1 root root 1.4M Oct 25 10:04 test_data.bin.xz
  • 结论:惊艳!直接干到了 1.4M!但是,代价非常残酷——它的压缩时间最长,极其消耗 CPU
四大压缩工具终极PK看板:

工具

后缀

压缩后大小

速度

资源消耗

通用性

compress

.Z

2.7M

极快

极低

差(濒临淘汰)

gzip

.gz

2.0M

较低

极强(运维标配)

bzip2

.bz2

1.7M

较慢

中等

一般

xz

.xz

1.4M(最强)

极慢

极高(吃CPU)

较强(新标配)

三、 避坑:不要直接用它们压目录!

新手常犯的一个错误是:直接运行 gzip /etc,以为能把整个目录压成一个包。 结果运行完一看,傻眼了:目录没变,只是目录下成百上千个小文件被分别压成了 .gz

这是因为:gzip、bzip2、xz只能针对单个文件进行压缩,无法实现多文件归档

为了解决这个问题,我们需要引入两个绝佳的打包组合。

1. 跨平台神器:zip 与 unzip

如果你的压缩包要经常在 Windows 和 Linux 之间传来传去,首选 zip。

  • 压缩文件夹:(一定要加 -r 递归)

[root@security-core ~]# zip -r etc_backup.zip /etc
  • 解压到指定目录:

[root@security-core ~]# unzip etc_backup.zip -d /opt/
2. 终极一统江湖:tar 打包压缩

tar 命令本身的职责是“打包”(把多个文件捆成一个大文件),它不负责压缩。但它能调用gzip、bzip2、xz。

我们不需要记复杂的选项,熟练掌握以下 3 组“黄金搭档”即可:

压包套路:

# 1. 打包并调用 gzip (最常用,速度快)tar -zcvf etc_backup.tar.gz /etc# 2. 打包并调用 bzip2tar -jcvf etc_backup.tar.bz2 /etc# 3. 打包并调用 xz (空间省到极致,适合离线归档)tar -Jcvf etc_backup.tar.xz /etc
解包黑科技:

很多新手在解包时,还在痛苦地分辨到底是该用 tar -zxvf 还是 tar -jxvf。 其实,现代的 tar 命令非常聪明,它会自动识别压缩格式!

不论后缀是 .tar.gz、.tar.bz2 还是 .tar.xz,一律使用这行命令,盲解无压力:

# 自动识别,直接解包[root@security-core ~]# tar -xvf etc_backup.tar.xz -C /tmp/

(注:-C 参数用来指定解压到的目标目录)

四、 高级黑科技:大文件切片传输法 (split + cat)

在做安全应急响应或者日志分析时,有些敏感服务器的防火墙非常严格,限制了附件上传的最大尺寸(比如最大只能传 1MB 的文件)。

而我们的日志压缩包有 7MB,根本传不出去,怎么办?

1. 切割大文件(拆成1M的小碎块)

[root@security-core ~]# split -b 1M -d test_data.bin test_data_part_[root@security-core ~]# ls -lh test_data_part_*-rw-r--r--. 1 root  1.0M Oct 25 10:15 test_data_part_00-rw-r--r--. 1 root  1.0M Oct 25 10:15 test_data_part_01-rw-r--r--. 1 root  1.0M Oct 25 10:15 test_data_part_02...
  • -b 1M:按 1MB 大小进行切割。
  • -d:后缀使用数字(00, 01)而不是字母,方便辨认。
2. 合并复原(在接收端重组)

把这些 1MB 的小碎片安全上传后,使用 cat 命令配合重定向,一秒还原成完整大文件:

[root@security-core ~]# cat test_data_part_* > test_data_restore.bin

校验一下两个文件的 MD5 散列值,一模一样!完美绕过传输限制!

写在最后:在实际生产中,没有最好的工具,只有最适合场景的策略

  • 追求兼容与开发通用脚本,选tar.gz
  • 追求极限备份空间、不计CPU成本(比如深夜离线备份),选tar.xz
  • 跨平台对接小白,选zip

你学废了吗?赶紧去检查一下你的服务器,看看是不是又有几个G的日志可以“缩骨”了吧!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
明晚24时,油价预计……

明晚24时,油价预计……

新浪财经
2026-06-04 04:08:11
国乒又一女将26岁退役!孙颖莎送祝福,她已低调赴宁波履新

国乒又一女将26岁退役!孙颖莎送祝福,她已低调赴宁波履新

酷侃体坛
2026-06-03 22:18:25
车祸把人撞成植物人,女老赖拒绝赔偿甘愿坐牢,十年拉锯终尝恶果

车祸把人撞成植物人,女老赖拒绝赔偿甘愿坐牢,十年拉锯终尝恶果

坠入二次元的海洋
2026-06-03 17:08:29
今早台州一辆问界M9底部起火!刚刚,问界回应:非车辆自身原因导致

今早台州一辆问界M9底部起火!刚刚,问界回应:非车辆自身原因导致

都市快报橙柿互动
2026-06-03 12:22:15
中美俄英法都在名单里,印媒公开喊话环球时报:凭啥就没有印度?

中美俄英法都在名单里,印媒公开喊话环球时报:凭啥就没有印度?

福建睿平
2026-06-03 08:03:32
两万多买的联动云下线“观致5”,深夜莫名被拖走,数十名车主陷维权困局

两万多买的联动云下线“观致5”,深夜莫名被拖走,数十名车主陷维权困局

大风新闻
2026-06-03 11:40:10
印军上将多年后透露:2020年加勒万那夜,士兵和将军想打,打不动

印军上将多年后透露:2020年加勒万那夜,士兵和将军想打,打不动

贱议你读史
2026-06-03 17:03:53
提前3周抢跑?Anker充电全家桶突降35%:45W带屏充头仅28刀,20Ah电霸125刀

提前3周抢跑?Anker充电全家桶突降35%:45W带屏充头仅28刀,20Ah电霸125刀

摸鱼算法
2026-06-03 04:55:58
白嫖潮汕火锅失控!多位被坑商家再实锤,警方出手,坐牢只是开始

白嫖潮汕火锅失控!多位被坑商家再实锤,警方出手,坐牢只是开始

奇思妙想草叶君
2026-06-03 17:07:22
人这一生,四大定数,皆是天意

人这一生,四大定数,皆是天意

青苹果sht
2026-06-02 05:16:02
原来就是她骗了朱丹1600万,她让朱丹倾家荡产,朱丹让她全网社死

原来就是她骗了朱丹1600万,她让朱丹倾家荡产,朱丹让她全网社死

混沌录
2026-06-02 22:58:08
高价旗舰问界M9起火,竟然折在路面金属块,安全神话被击穿?

高价旗舰问界M9起火,竟然折在路面金属块,安全神话被击穿?

周哥一影视
2026-06-03 19:48:02
46岁董洁花期太短了,这是董洁为某时尚杂志拍的大片,董洁贴上假胡子,脸上戴着厚重的网纱,脖子上挂着繁复的花朵,这妆造真的太前卫了

46岁董洁花期太短了,这是董洁为某时尚杂志拍的大片,董洁贴上假胡子,脸上戴着厚重的网纱,脖子上挂着繁复的花朵,这妆造真的太前卫了

牛油果生活观
2026-06-02 19:09:43
尼克斯利好!米罗右手骨折仍出战总决赛G1:前板+二次进攻要靠他

尼克斯利好!米罗右手骨折仍出战总决赛G1:前板+二次进攻要靠他

罗说NBA
2026-06-04 06:10:50
英超俱乐部身价榜:曼城13.2亿第1,利物浦跌8500万,热刺跌1.11亿

英超俱乐部身价榜:曼城13.2亿第1,利物浦跌8500万,热刺跌1.11亿

懂球帝
2026-06-03 19:39:16
金价跌破980元/克!北京菜百店员称购买投资金条者减少约六成,专家提醒勿将投资变投机

金价跌破980元/克!北京菜百店员称购买投资金条者减少约六成,专家提醒勿将投资变投机

极目新闻
2026-06-04 00:07:31
中纪委重拳出击!2026年将“重点查处”5类人群,一个都别想跑

中纪委重拳出击!2026年将“重点查处”5类人群,一个都别想跑

细说职场
2026-06-02 20:33:47
总决赛G1马刺vs尼克斯,看似强强对决,实则胜负已分

总决赛G1马刺vs尼克斯,看似强强对决,实则胜负已分

林子说事
2026-06-03 18:44:54
《妻旅2026》最大翻车点!一顿不够吃的外卖,看出马頔真实性格

《妻旅2026》最大翻车点!一顿不够吃的外卖,看出马頔真实性格

浑水默娱
2026-06-03 22:10:06
男篮最强高塔!2米26徐昕热身赛砍10+8+4帽,多家美国大学想要他

男篮最强高塔!2米26徐昕热身赛砍10+8+4帽,多家美国大学想要他

林小湜体育频道
2026-06-03 23:44:04
2026-06-04 06:39:00
侃故事的阿庆
侃故事的阿庆
几分钟看完一部影视剧,诙谐幽默的娓娓道来
1207文章数 8617关注度
往期回顾 全部

科技要闻

传DeepSeek融资意向500亿:腾讯投100亿

头条要闻

男子不想上班辞职后上武当山当道士 8个月后选择下山

头条要闻

男子不想上班辞职后上武当山当道士 8个月后选择下山

体育要闻

选择中国品牌的库里,和他们的巨大野心

娱乐要闻

官方痛批乱象 刘涛郑恺等艺人遭点名

财经要闻

AI,开始偷懒了?

汽车要闻

专访蒋平:安全不做高低配 长安要让安全技术普惠

态度原创

本地
亲子
时尚
房产
公开课

本地新闻

用杨柳青年画的方式,打开天津

亲子要闻

9岁孩童竟患上冠心病!医生说明原因,父母后悔不已……

月经、初潮与生育真相,那些藏在动画片里的性启蒙

房产要闻

突发!254亩调规,海口江东的超级学校真的快来了!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版