Linux常用到的归档与压缩命令盘点

在日常运维工作中,不可避免会打包压缩和解压文件,Linux上有多个类似功能的命令,如 tar、gzip、bzip2、xz、zip,今天就跟大家一起区分一下并学会如何高效实用它们。

一、先搞清楚:归档 vs 压缩

很多新手容易混淆:

  • 归档(Archive):把多个文件/目录打包成一个文件,但体积没缩小。常用命令:tar
  • 压缩(Compress):通过算法减少文件体积。常用命令:gzip、bzip2、xz、zip

比如:你把一堆源代码打包成 project.tar —— 这只是归档。 然后再对它压缩成 project.tar.gz —— 这才是真正的“压缩包”。

二、归档命令:tar

tar 是 Linux 归档工具之王,简单举例,后面有跟其他压缩命令组合使用实例。

功能 命令
打包 tar -cvf archive.tar file1 file2 dir/
解包 tar -xvf archive.tar
查看内容 tar -tvf archive.tar

常用参数:

参数 含义 备注
-c create,创建归档 打包
-x extract,解包 解压
-t list,列出内容 查看归档里有什么
-v verbose,显示过程 方便观察进度
-f file,指定归档文件名 一般放最后,必须有
-C dir 切换到指定目录 常用在解压到目标路径
–exclude=PATTERN 排除文件 打包时跳过某些目录/文件
–delete 从归档中删除 注意:只对未压缩的 .tar 有效

三、压缩命令

Linux 有多种压缩工具,区别主要在 压缩比速度

【温馨提示】bzip2/xz命令在压缩时,默认原始的文件被删除,如果你想要压缩后还留着原文件,可以加参数 -k

3.1 gzip

# 压缩生成 file.txt.gz,源文件消失 gzip file.txt         # 解压 gunzip file.txt.gz  或者使用 gzip -d file.txt.gz

特点:快、常用,适合一般场景。

3.2  bzip2

# 有些系统版本需要自行安装 yum install -y bzip2 # 压缩生成 file.txt.bz2,源文件消失 bzip2 file.txt        # 保留源文件 bzip2 -k file.txt # 解压 bunzip2 file.txt.bz2

特点:压缩比高,但速度比 gzip 慢。

3.3  xz

# 压缩生成 file.txt.xz,源文件消失 xz file.txt   # 解压 unxz file.txt.xz

特点:压缩比高,适合长期存档。

3.4  zip

# 压缩 zip archive.zip file1 file2 dir/   # 解压 unzip archive.zip

特点:跨平台通用(Windows 友好)。

四、tar 与压缩结合技

平时我们最常见的就是 tar + 压缩的组合:

格式 命令
.tar.gz tar -czvf archive.tar.gz file1 dir/
.tar.bz2 tar -cjvf archive.tar.bz2 file1 dir/
.tar.xz tar -cJvf archive.tar.xz file1 dir/

对应解压:

tar -xzvf archive.tar.gz   # 解压 .tar.gz tar -xjvf archive.tar.bz2  # 解压 .tar.bz2 tar -xJvf archive.tar.xz   # 解压 .tar.xz

小技巧:参数里的 z/j/J 分别代表 gzip/bzip2/xz

五、实战对比

我们用一个 100MB 的日志文件 来实验,看看压缩差别:

5.1 测试文件

我准备了四个一样大的文件

Linux常用到的归档与压缩命令盘点

5.2 分别压缩

gzip test1.log bzip2 test2.log xz test3.log zip test4.zip test4.log

3. 查看大小

ll -h

Linux常用到的归档与压缩命令盘点

结论:

  • bzip2 压缩率最高,适合长期存档
  • gzip & zip 差不多,gzip 在 Linux 更常见
  • xz 介于两者之间

六、实用技巧

解压到指定目录

tar -xvf archive.tar.gz -C /data

只打包指定目录下的文件,不含目录本身

tar -czvf code.tar.gz -C /path/to/code .

只解压某个文件

tar -xvf archive.tar.gz path/to/file

压缩比测试(适合硬盘党)

tar -cvf – bigdir/ | xz > bigdir.tar.xz

生产环境使用总结

  • 归档用 tar,压缩选 gzip/bzip2/xz
  • 日常:tar.gz 足够 → 快捷 & 通用
  • 高压缩:tar.bz2 → 节省空间
  • 跨平台:zip → Windows 友好

只要记住这套逻辑,你就能轻松应对 99% 的 Linux 压缩归档需求。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2626.html

Like (1)
Previous 2026年5月7日 上午10:37
Next 2026年5月8日

相关推荐

  • 如何更新服务器CentOS版本?

    老版本系统一旦被官方”抛弃”,就再也收不到安全补丁了,如果继续使用这类过期系统,不法分子很容易利用系统漏洞发起攻击,轻则破坏服务器正常运行,重则窃取内部核心…

    2026年5月12日
    0
  • Python如何使用Selenium抓取动态网站

    对于用静态 HTML 和 CSS 构建的网站,像 Python 的请求库和 Beautiful Soup 这样的简单工具通常能在网页抓取时完成工作。然而,在处理基于动态 JavaS…

    2026年3月30日
    0
  • 什么是 Node.js?一文读懂其优势与不足

    在 Web 开发领域,JavaScript 长期占据客户端编程语言的主流地位。它的价值早已不局限于前端交互,在跨平台应用开发方面同样用途广泛。React Native、PhoneG…

    2026年4月20日
    0
  • IPv4与IPv6:互联网网络层协议的演进与迁移路径

    众所周知,Internet是当前全球规模最大、影响力最广的计算机网络,其网络层作为核心支撑部分,主要涵盖了网际协议(IP)、路由协议以及互联网控制报文协议(ICMP)等关键内容。 …

    2026年4月23日
    0
  • 什么是数字证书?其含义、类型和重要性

    什么是数字证书? 数字证书是一种数字文档,用于证明用于加密在线资产(例如电子邮件通信、文档、网站或软件应用程序)的公钥的真实性。 数字证书,也称为身份证书或公钥证书,是一种利用公钥…

    2026年4月27日
    0
  • 浏览器缓存是什么?网页缓存配置机制推荐

    当用户访问网站时,浏览器会向网页服务器请求所需文件,这些文件会在用户屏幕上显示。为了避免反复请求相同的资源并加快加载过程,浏览器缓存将这些文件的副本存储在本地。当用户再次访问该网站…

    2026年4月11日
    0
  • SQL 与 NoSQL 数据库对比:该怎么选?

    NoSQL 数据库凭借易用、好开发、扩展性强等特点,一直备受认可。在处理海量数据时速度快、使用灵活,如今在大数据和实时互联网应用中越来越普及。 但这不代表任何场景都适合换成 NoS…

    2026年4月22日
    0
  • Linux 中的删除目录:rm 和 rmdir 解析

    在 Linux 中,需要删除目录文件时靠两个命令就能完成:rm 和 rmdir。乍一看它们相似,但行为却截然不同,如使用错误的命令,可能会删除远超预期的内容。 Linux rm 和…

    2026年3月30日
    0
  • 什么是 LAMP 堆栈?LAMP 用于什么?

    LAMP堆栈是一种流行的软件组合,通过开源组件来构建和交付网络应用程序。 开发人员基本都知道LAMP,因为自20世纪90年代末以来,它就一直是网络开发的常用工具。LAMP堆栈以开源…

    2026年4月29日
    0
  • 云计算核心技术:准虚拟化是什么意思?

    虚拟化是驱动全球数字基础设施的核心理念和技术。从虚拟桌面到云端虚拟机,虚拟化最大化了物理硬件和软件资源的利用率,惠及众多行业。 准虚拟化是虚拟化的一种形式,许多专家认为它是该技术中…

    2026年4月29日
    0