Sreekanth Kuruba

在 Linux 中处理文件不仅仅是创建和编辑。

有时你需要:

  • 将多个文件归档成一个文件
  • 压缩文件以节省磁盘空间
  • 与他人共享文件
  • 创建备份

Linux 提供了多种工具,每种工具都有不同的用途。

让我们简化说明。


什么是文件压缩?

文件压缩会减小文件的大小。

好处:

  • 节省磁盘空间
  • 加快文件传输
  • 更轻松地进行备份
  • 减少带宽使用

示例:

一个 100 MB 的日志文件可能会变成一个更小的压缩文件,具体取决于其内容。


归档与压缩

许多初学者认为它们是一样的。

它们并不相同。

归档

将多个文件合并为单个文件。

示例:

photos/
docs/
notes.txt

↓

backup.tar

Enter fullscreen mode Exit fullscreen mode

压缩

减小文件的大小。

示例:

backup.tar

↓

backup.tar.gz

Enter fullscreen mode Exit fullscreen mode

👉 tar 用于归档文件,gzip 用于压缩文件。


1. 使用 tar 创建归档

tar -cvf backup.tar Documents/    #创建归档
tar -tvf backup.tar               #查看归档内容
tar -xvf backup.tar               #解压归档

Enter fullscreen mode Exit fullscreen mode

选项:

  • c → 创建
  • v → 详细(显示进度)
  • f → 文件名
  • x → 解压

最佳用途:

  • 备份
  • 捆绑多个文件
  • 移动文件夹

2. 使用 gzip 压缩

压缩文件:

gzip file.txt          # 创建 file.txt.gz
# 结果
file.txt.gz
gunzip file.txt.gz     # 解压
gzip -k file.txt       # 保留原文件

Enter fullscreen mode Exit fullscreen mode

最佳用途:

  • 日志文件
  • 大型文本文件
  • 节省磁盘空间

3. 同时归档和压缩

最常用的命令:

# 创建压缩归档
tar -czvf backup.tar.gz Documents/
# 解压
tar -xzvf backup.tar.gz

Enter fullscreen mode Exit fullscreen mode

选项:

  • z → 使用 gzip 压缩

👉 这是 Linux 中最常用的备份命令之一。


4. 处理 ZIP 文件

# 创建 ZIP
zip -r project.zip project/
# 解压
unzip project.zip
# 列出内容
unzip -l project.zip

Enter fullscreen mode Exit fullscreen mode

最佳用途:

  • 与 Windows 用户共享文件
  • 跨平台兼容性

5. 工具比较

工具 用途 最佳用途
tar 归档文件 备份
gzip 压缩文件 节省空间
tar + gzip 归档并压缩 Linux 备份
zip 归档并压缩 跨操作系统共享文件

真实案例

在进行更改之前,你需要备份网站。

# 创建备份
tar -czvf website-backup.tar.gz /var/www/html
# 如有需要,稍后恢复
tar -xzvf website-backup.tar.gz

Enter fullscreen mode Exit fullscreen mode

这是在升级、迁移或配置更改之前常见的做法。


常见初学者错误

  • 认为 tar 本身可以压缩文件
  • 创建 .tar.gz 归档时忘记添加 -z
  • 压缩已经压缩过的文件(如 .jpg.mp4
  • 将归档解压到错误的目录
  • 在验证备份可恢复之前就删除备份

简单思维模型

想象一下打包旅行的行李:

  • tar → 把所有衣服放进一个行李箱。
  • gzip → 压缩行李箱,使其更小。
  • tar.gz → 把所有东西都放进一个行李箱并压缩。
  • zip → 一种几乎可以在任何操作系统间轻松共享的行李箱。

总结

在本指南中,你学习了:

  • 什么是文件压缩
  • 归档与压缩
  • 使用 tar 创建归档
  • 使用 gzip 压缩文件
  • 创建 .tar.gz 归档
  • 处理 ZIP 文件
  • 常见初学者错误

为什么这很重要

文件压缩每天都被以下人员使用:

  • Linux 管理员
  • DevOps 工程师
  • 云工程师
  • 开发者

无论你是在创建备份、传输文件还是节省磁盘空间,理解这些工具都是一项必备的 Linux 技能。


恭喜!
你现在已经掌握了 Linux 的基础知识。

在下一期也是最后一期文章中,我们将把本系列的所有内容整合成一个实用的故障排除工作流程,让你能够自信地诊断 Linux 问题。

下一篇文章

面向初学者的 Linux 故障排除流程


问你一个问题

你最常使用哪种压缩格式:.tar.gz 还是 .zip?在什么情况下使用?