Linux 下的归档与压缩之 tar 与 gzip 的基本使用
创始人
2025-05-30 21:24:25
0

文章目录

  • 参考
  • 描述
  • 归档与压缩
      • 归档
          • 常用工具
      • 压缩
          • 常用工具
      • 归档并压缩
  • tar
      • 选项
      • 常见形式
          • 细节
  • gzip
      • 选项
      • 常见形式
          • 细节

参考

项目描述
维基百科Tar
维基百科官网
维基百科Gzip
Linux 命令行与 shell 脚本编程大全ISBN 978-7-115-59251-4

描述

项目描述
操作系统Ubuntu 22.04.2 LTS(64 位)
tar1.34
gzip1.10

归档与压缩

归档

通过对多个文件进行归档操作,我们将得到一个归档文件。使用归档文件将使得文件在系统间的传输更加便利。

常用工具

tar

tarUnix类 Unix 系统中的归档打包工具,可以将多个文件合并为一个文件。目前,tar 文件格式已经成为 POSIX 标准。tar 设计的最初目的是将文件备份到磁带上 ( Tape Archive ) ,因而得名 tar


上述内容整理自 维基百科

压缩

在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程。


上述内容引用自 维基百科

常用工具

gzip

Gzip类 Unix 系统中常见的压缩及解压缩工具。GzipGUN 中的一员,名称中的 G,指的便是 GNU

Bzip2

bzip2 相比传统的 gzip 或者 ZIP 的压缩效率更高,但是压缩速度较慢。与 RAR 或者 ZIP 等其它不同的是,bzip2 只是数据压缩工具,而不是归档工具,在这一点与 Gzip 类似。


上述内容整理自 维基百科

compress

Linux compress 命令是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。


上述内容引用自 菜鸟教程

归档并压缩

由于 gzip 无法对多个文件或目录进行合并压缩,所以其常常与 tar 一起使用。由 tar 将多个文件或目录进行归档,再由 gzip 实行压缩。目前,tar 支持将归档文件自动提交给其他压缩工具进行压缩。这意味着,使用 tar,您将能够直接完成多个文件或目录的归档及压缩操作。

归档并压缩

上述图片引用自 维基百科


tar

选项

项目描述
-f指定文件(指定何种类型的文件依据情况而定)。
-c--create创建一个归档文件,使用 -f 指定归档文件使用的文件名称。
--delete使用 -f 选项指定归档文件,从归档文件中删除部分文件。
-x--get--extract使用 -f 选项指定归档文件,从目标归档文件中提取部分或全部文件。如未指定需要从归档文件中提取的文件,默认提取归档文件中的全部文件。
-r--append使用 -f 选项指定归档文件,将非 tar 归档文件的文件附加到指定归档文件中。
-k--keep-old-files使用 -f 指定归档文件,从归档文件中提取文件时,不覆盖其他文件。若目录中已存在同名文件,则取消该文件的提取操作,继续执行其他文件的提取操作。
-t--list使用 -f 选项指定归档文件,列出该归档文件中所包含的其他文件。
-v--verbose输出与当前命令相关的执行信息。在单条命令中,你可以多次重复使用该选项。在某些情况下,这将得到更为详细的描述信息。
-j将结果传递给工具 Bzip2 进行处理(进行何种处理,由 tar 自动进行指派)。
-J将结果传递给工具 xz 进行处理(进行何种处理,由 tar 自动进行指派)。
-z将结果传递给工具 Gzip 进行处理(进行何种处理,由 tar 自动进行指派)。
-Z将结果传递给工具 compress 进行处理(进行何种处理,由 tar 自动进行指派)。
--version输出当前使用的 tar 的版本。
--help输出与 tar 相关的帮助信息。

常见形式

将多个文件归档为一个文件

将当前工作目录下的 partition_1partition_2 打包,得到归档文件 result.tar

tar -cvf result.tar partition_1 partition_2

查看归档文件中的文件内容

列出当前工作目录下的归档文件 result.tar 中的文件。

tar -tvf result.tar

将一个归档文件附加到另一个归档文件末尾

将当前工作目录下的归档文件 result.tar 附加到当前工作目录的归档文件 result.tar 中。

  1. 检索当前工作目录下的文件
ls

执行结果

partition_1  partition_2  result.tar
  1. 检索归档文件 result.tar 中的文件
tar result.tar -tvf

执行结果

-rw-r--r-- root/root         0 2023-03-19 17:57 partition_1
-rw-r--r-- root/root         0 2023-03-19 17:57 partition_2
  1. 将归档文件 result.tar 附加到 result.tar
tar -Avf result.tar result.tar
  1. 检索归档文件 result.tar 中的文件
tar -f result.tar -tv

执行结果

-rw-r--r-- root/root         0 2023-03-19 17:57 partition_1
-rw-r--r-- root/root         0 2023-03-19 17:57 partition_2
-rw-r--r-- root/root         0 2023-03-19 17:57 partition_1
-rw-r--r-- root/root         0 2023-03-19 17:57 partition_2

从归档文件中删除部分文件

  1. 从当前工作目录下的归档文件 result.tar 中将 partition_1 文件进行删除。
tar --delete -f result.tar partition_1
  1. 检索归档文件 result.tar 中的文件
tar -f result.tar -tv

执行结果

-rw-r--r-- root/root         0 2023-03-19 17:57 partition_2
-rw-r--r-- root/root         0 2023-03-19 17:57 partition_2

将当前工作目录下的 partition_1 附加到归档文件 result.tar 中

tar -rf result.tar partition_1

从当前工作目录下的归档文件 result.tar 中提取部分文件(partition_2)

tar -xf result.tar partition_2

从当前工作目录下的归档文件 result.tar 中提取全部文件

tar -xf result.tar 

从当前工作目录下的归档文件 result.tar 中删除所有文件

tar --delete result.tar

将多个文件归档后交由 gzip 进行归档文件的压缩

将当前工作目录下的 partition_1partition_2 文件归档后交由 Gzip 进行压缩,得到归档压缩文件 result.tar.gz

tar -czvf result.tar.gz partition_1 partition_2

将归档压缩文件交由 gzip 解压后,再由 tar 进行解除归档操作

tar -xzvf result.tar.gz
细节
  1. 将文件添加到归档文件后,源文件将不会发生改变。
  2. 从归档文件中提取文件后,该文件将不会从该归档文件中消失。
  3. 归档文件中可以出现多个同名文件,在提取归档文件中的文件时,可能因此出现文件覆盖的现象。可以使用 -k–keep-old-files 选项来避免解除归档的过程中,覆盖已有的同名文件。

gzip

选项

项目描述
-d--decompress--uncompress将目标文件进行解压缩操作。
-k--keep实行解压操作或压缩操作后保留源文件。
-l--list列出与目标压缩文件相关的一系列信息。
-r--recursive对目标文件夹进行递归处理以操作目标文件夹中的所有文件(不包括隐藏文件)。
-v--verbose显示压缩过程中相关的操作信息。
-t--test检测压缩文件的完整性。该选项推荐同 -v–verbose 选项一同使用。
-<压缩效率>压缩效率是一个介于 1-9 的数值,预设值为"6"。指定愈大的数值,压缩效率就会愈高。
--best此参数的效果与使用 -9 参数所得到的效果相同。
--fast此参数的效果与使用 -1 参数所得到的效果相同。
-V--version显示 Gzip 的版本信息。
-h--help显示与 Gzip 相关的帮助信息。

常见形式

将当前工作目录下的 partition_1 及 partition_2 分别进行压缩

gzip -k partition_1 partition_2

执行结果

源文件(被压缩文件)未被删除,得到文件 partition_1.gzpartition_2.gz

将当前工作目录下的 partition_1.gz 与 partition_2.gz 分别进行解压

gzip -d partition_1.gz partition_2.gz

执行结果

源文件(压缩文件)均被删除,得到文件 partition_1partition_2

细节
  1. 使用 Gzip 将文件压缩后,源文件默认将被删除,你可以使用 -k 选项来避免源文件的删除。
  2. 使用 Gzip 将文件解压后,压缩文件默认将被删除,你同样可以使用 -k 选项来避免压缩文件的删除。
  3. 使用 Gzip 压缩文件夹时,如无使用 -r 选项,则压缩指令将被忽略。使用 -r 选项后也无法将文件夹进行归档压缩,而是将该文件夹中所有的文件(包括后代文件夹中的文件,但不包括其中的隐藏文件)单独进行压缩。对此,请参考如下示例:

检索目标文件夹中的文件

ls -a C++

执行结果

.  ..  demo  demo.cpp  demo.gz  hello  hello.cpp  hello.gz  .vscode

使用 Gzip 将目标文件夹进行压缩处理

gzip -r C++

检索目标文件夹中的文件

ls -a C++

执行结果

.  ..  demo.cpp.gz  demo.gz  hello.cpp.gz  hello.gz  .vscode

相关内容

热门资讯

国医战士:我的觉醒之路与薪火守... 一、根脉:红土地上的传承之子 1974年,李铭豪出生在广东吴川一个淳朴的农家。这片南海之滨的红土地,...
库克预告:苹果今年有前所未见的... 1月31日消息,苹果日前交上了一份历史最强季度财报,多项核心财务指标创历史新高,iPhone业务成为...
原创 白... 一夜之间,全崩了 昨天白天的时候,看到白银和黄金在大跌,想想昨夜跌跌就差不多了,结果一觉醒来完全颠覆...
夜“血洗”!白银,史诗级暴跌!... 北京时间1月31日凌晨,现货白银价格一度暴跌36%,创出历史最大日内跌幅;现货黄金价格一度下跌超过1...
一老人家中发生火灾,近40万元... 前不久,自贡赵女士爷爷家发生了火灾。因为爷爷奶奶不喜欢把钱存银行,家里近40万现金被烧毁大半。赵女士...
史诗级暴跌!白银一度重挫18% 1月30日,此前连续暴涨的贵金属,集体踩下“急刹”,其中白银等品种更迎来史诗级暴跌。 国际市场上现货...
视频|黄金白银“瀑布流直线跳水... 1月29日至1月30日,黄金白银遭遇“瀑布流直线跳水”,现货黄金从猛冲5600美元/盎司,到跌穿50...
今天凌晨,黄金、白银、美股,全... 北京时间1月31日凌晨,恐慌性抛售席卷全球贵金属市场。 现货白银日内跌幅一度扩大至34.67%,从1...
OpenAI详解AI代理如何应... AIPress.com.cn报道 1月31日消息,OpenAI 在一篇官方博客中介绍了其 AI 代理...
21亿减值离场,分众掀开了网贷... 作为广告行业巨头的分众传媒,近期的几则公告却意外挑开了网贷行业正面临的艰难现状。 分众传媒近日发布的...
披露换手率、新增中长期业绩!公... 1月30日,中国证监会就《公开募集证券投资基金信息披露内容与格式准则第2号——定期报告的内容与格式》...
40年最大单日跌幅!现货黄金价... 美国总统特朗普提名凯文·沃什(Kevin Warsh)出任美联储主席,引爆市场鹰派预期,贵金属遭恐慌...
一纸提名引爆史诗级抛售:现货白... 1月31日,周五(1月30日)纽约时段,国际贵金属价格大幅跳水,其中现货白银一度跌超36%,黄金最高...
股票行情快报:工商银行(601... 证券之星消息,截至2026年1月28日收盘,工商银行(601398)报收于7.2元,下跌0.41%,...
002514、300087,被... 两家公司被证监会立案调查。 1月30日,宝馨科技(002514.SZ)公告称,公司及公司实际控制人马...
中山东方医院标准化就诊流程:从... 在医疗服务质量不断提升的今天,标准化就诊流程建设已成为医院提升服务效率、改善患者体验的重要抓手。医院...
彩票卖不动了?去年全国彩票收入... 中国彩票收入增速持续放缓。 1月30日,财政部公布2025年12月份全国彩票销售情况。2025年全年...
原创 超... 当消费者为家中购置新物品时,功能之外,产品在“家”中的融入感、协调性如何,正成为越来越重要的考量——...
寒武纪预计2025年至高盈利2... 《科创板日报》1月30日讯(记者 郭辉)寒武纪发布2025年年度业绩预告。 公告显示,寒武纪预计20...
2025年我国基本医保统筹基金... 2025年我国基本医保统筹基金收入约2.95万亿元 新华社北京1月30日电(记者彭韵佳)记者1月3...