当前位置: 首页 > news >正文

归档和压缩

在 Linux 系统运维、文件管理与数据传输过程中,归档和压缩是两项高频操作。归档能将零散文件整合为一个整体,方便管理;压缩则能显著减小文件体积,节省存储空间与传输带宽。本文将系统梳理归档与压缩的核心知识,详解 tar、gzip等常用工具的命令用法。

一、归档与压缩

  • 归档(Archive):指将多个文件或目录 “打包” 成一个单独的文件,但不改变文件的实际大小。其核心作用是 “整合”—— 比如把一个项目的源码、配置文件、日志等零散文件打包成一个归档,方便备份、迁移或分发。常见的归档文件格式有.tar。​
  • 压缩(Compression):指通过特定算法对文件数据进行处理,减少文件占用的存储空间(通常会改变文件格式)。压缩可单独对单个文件操作,也可对归档文件进行。常见的压缩格式有.gz(gzip 压缩)等。​

实际操作中,归档和压缩往往结合使用 —— 先归档再压缩(或 “边归档边压缩”)

二、常用工具与格式

Linux 下归档和压缩工具众多,不同工具的压缩率、速度、兼容性各有差异,需根据场景选择。以下是最常用的工具及对应格式:​

工具组合​

输出文件格式​

核心特点​

适用场景​

tar(仅归档)​

.tar​

不压缩,速度极快,保留原文件权限、属性​

需完整保留文件信息,或临时打包​

tar+gzip​

.tar.gz/.tgz​

压缩速度快,压缩率中等,兼容性强

日常备份、文件分发

tar+bzip2​

.tar.bz2​

压缩率比 gzip 高,速度比 gzip 慢,兼容性较好​

对压缩率有一定要求,可接受稍慢速度​

tar+xz​

.tar.xz​

压缩率最高,压缩速度最慢,较新系统支持​

长期存储,对体积敏感场景​

zip​

.zip​

单独压缩 / 归档工具,可压缩多个文件,Windows 兼容性好​

需跨平台传输文件​

三、tar 命令

tar最初用于磁带备份,如今已成为 Linux 下归档 + 压缩的 “标配工具”。其命令格式灵活,核心功能通过 “选项 + 源文件 / 目录 + 目标文件” 实现。​

1. tar 核心选项

tar命令的选项众多,但常用的核心选项可概括为 “操作类型 + 压缩算法 + 辅助功能”,关键选项如下:​

  • 操作类型(必选其一):​
  • -c:创建归档(打包),用于 “将文件 / 目录打包成 tar 文件”。​
  • -x:提取归档(解包),用于 “从 tar 文件中解压出原文件 / 目录”。​
  • -t:查看归档,用于 “列出 tar 文件中的内容(不提取)”。​
  • 压缩算法(可选,指定后自动启用对应压缩):​
  • -z:使用 gzip 算法压缩 / 解压(对应.tar.gz格式)。​
  • -j:使用 bzip2 算法压缩 / 解压(对应.tar.bz2格式)。​
  • -J:使用 xz 算法压缩 / 解压(对应.tar.xz格式)。​
  • 辅助功能(常用):​
  • -f [文件名]:指定归档文件的名称(必须放在选项最后,紧跟文件名)。​
  • -v:显示操作过程(verbose,即 “打印每一步处理的文件”,方便查看进度)。​
  • -p:保留原文件的权限和属性(解压时常用,避免文件权限丢失)。​
  • -C [目录]:指定解压目录(默认解压到当前目录,-C可指定其他路径)。​
  • --exclude=[文件/目录]:打包时排除指定文件 / 目录(如临时文件、日志)。​

2. tar 命令实例

(1)打包 + 压缩

“打包并压缩” 是tar的核心场景,根据压缩算法不同,命令略有差异:​

  • tar+gzip(.tar.gz):速度快,推荐日常使用​

示例:将/home/project目录和/etc/nginx.conf文件打包压缩为project_backup.tar.gz​

tar -zcvf project_backup.tar.gz /home/project /etc/nginx.conf​

选项解析:-z(gzip 压缩)、-c(创建归档)、-v(显示过程)、-f(指定文件名)。​

(2)查看归档内容

需确认归档文件中是否包含目标文件时,用-t选项查看:​

示例:查看project_backup.tar.gz中的文件列表​

tar -ztvf project_backup.tar.gz​

选项解析:-t(查看内容)、-z(对应 gzip 格式)、-v(显示详细信息,如权限、大小)、-f(指定文件)。​

若为.tar.bz2或.tar.xz,只需将-z替换为-j或-J。​

(3)解压归档文件​

解压时需根据归档格式指定对应算法选项,核心是-x(提取):​

  • 默认解压到当前目录​

示例 1:解压project_backup.tar.gz到当前目录​

tar -zxvf project_backup.tar.gz​​

总结​

归档与压缩是 Linux 系统中 “文件管理的基本功”,掌握tar的核心选项(-c/-x/-t+-z/-j/-J+-f)可应对 90% 以上的场景;zip适合跨平台交互;gzip/bzip2/xz则适合单个文件的快速压缩。​关键是根据需求选择工具:日常备份优先tar+gzip,长期存储用tar+xz,跨平台分享用zip。​熟练运用这些工具,能让文件备份、传输、管理更高效。

http://www.dtcms.com/a/353619.html

相关文章:

  • 摄像头镜头模组的设计要点
  • ES03-常用API
  • 安装了TortoiseSVN但是在idea的subversion里面找不到svn.exe
  • Dify 从入门到精通(第 59/100 篇):Dify 的自动化测试(进阶篇)
  • Python爬虫实战:构建音乐作品电商平台数据采集与分析系统
  • Highcharts Stock :打造专业级金融图表的利器
  • Apache DolphinScheduler:数据治理中数据质检利器
  • 机器学习 TF-IDF方法
  • 使用MP4视频格式链接地址的自适应视频弹窗实现方案HTML代码
  • 智能体协作体系核心逻辑:Prompt、Agent、Function Calling 与 MCP 解析
  • 流量迷局 - 理解负载均衡(L4/L7)与CDN背后的“隐形路由
  • 全球首款Al勒索软件PromptLock:跨平台攻击新威胁, Windows/macOs/Linux均受影响
  • Python 数据分析学习笔记:Pandas 数据索引
  • 通信协议接口
  • 设计模式8-命令模式
  • docker常用命令有哪些
  • ASM字节码框架和KSP能够解析JAR包或者AAR包里面的内容吗?
  • 碰一碰发视频手机版源码开发:支持OEM
  • 76 最小覆盖子串
  • CPTS-Reddish
  • 【开发配置】云服务器配置Gitlab服务
  • 解决pod install报错问题的一些方法
  • 合金弹头全系列游戏合集分享 电脑安卓手机掌机SWITCH整合版 (1/2/X/3/4/5/6/7/XX)
  • Elasticsearch数据迁移快照方案初探(二):快照创建与多节点存储问题解决
  • Kafka经典面试题--Kafka的其他问题汇总
  • 嵌入式第三十九天(TCP多任务并发)
  • C语言二级考试环境配置详细教程【mac篇】
  • Java设计模式之《亨元模式》
  • HttpRequest.get()方法报错:301 Moved Permanently
  • XFile v2 系统架构文档