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

相关内容

热门资讯

期货市场沉淀资金创7783亿历... 近期期货市场资金流入呈现加速态势,沉淀资金总量达到近7783亿元的历史新高。这一数据自6月25日以来...
价格法修正草案公布,强调“反内... 政策面再出“反内卷”利好,7月24日,《中华人民共和国价格法修正草案》公开征求意见:明确不正当价格行...
原创 特... 关税风暴:特朗普贸易战的全球冲击波 8月1日,一场由美国总统特朗普发起的全球贸易战即将进入高潮。看似...
2024消费品上市公司研究报告... 《2024消费品上市公司研究报告》 (内容出品方:和君咨询x新华网) 报告共计:40页 本研报通过对...
特斯拉Q2营收下滑12%,马斯... 特斯拉于7月24日公布了2025年第二季度财报,数据显示总营收降至225.0亿美元,同比下滑12%;...
衣食住行跟我逛|“今年更甜!”... 盛夏时节,誉称为“紫水晶”的黑葡萄迎来最佳赏味期。近日,扬子晚报/紫牛新闻记者走访苏州市场发现,多数...
棕榈油与油菜籽:印尼库存降,马... 【印尼5月末棕榈油库存下滑,马棕7月上旬增产,加菜籽预估调整】印尼棕榈油协会数据显示,因出口激增,印...
康佳易主华润 半导体业务整合成... 康佳集团股份有限公司是深圳首家营业收入超百亿元的工业企业。 来源:康佳集团 靴子落地。在长达三个多月...
英特尔营收超预期,宣布裁员,C... 英特尔数据中心+AI收入超预期难掩盈利困境,英特尔CEO未能证明公司将扭亏为盈,股价应声下跌。 周四...
我国新药好药呈现快速增长态势:... 央视网消息:国家药监局最新统计显示,我国上半年批准创新药43个,同比增长59%,接近2024年批准创...
赛峰集团宣布完成对柯林斯宇航飞... 赛峰集团宣布完成对柯林斯宇航(Collins Aerospace)飞行控制与作动业务的收购。该业务为...
中国最大农业互联网公司即将登录... 来源:ACN亚太商讯 近日,中国领先的农产品B2B数字化服务公司一亩田集团向美国证券交易委员会(SE...
常熟银行股价微跌0.54% 拟... 截至2025年7月24日收盘,常熟银行股价报7.37元,较前一交易日下跌0.54%,成交额3.16亿...
股市必读:湖南黄金(00215... 截至2025年7月24日收盘,湖南黄金(002155)报收于18.58元,上涨0.27%,换手率2....
股票行情快报:浙江众成(002... 证券之星消息,截至2025年7月24日收盘,浙江众成(002522)报收于5.07元,上涨1.0%,...
“反内卷”与利率上涨 冉学东 反内卷政策持续推进,金融市场反应明显,首先就是大宗商品的牛市。 大宗商品期货市场近期出现强劲...
24日不锈钢下跌0.08%,最... 来源:新浪期货 新浪期货 根据交易所数据,截至7月24日收盘主力合约不锈钢2509,涨跌-0.08%...
稀有金属ETF(159608)... 中证网讯 7月24日,稀有金属概念股午后拉升,锂矿、稀土永磁板块走强,相关ETF领涨。截至收盘,稀有...
北交所上市公司生物谷大宗交易折... 每经讯,2025年7月24日,北交所上市公司生物谷(833266,收盘价:11.7元)发生一笔大宗交...
瑞信证券更名,北京证券重出江湖... (图片来源:视觉中国) 蓝鲸新闻7月24日讯(记者 王婉莹)从外资券商转身为国资控股券商后,瑞信证券...