ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux系列之压缩命令

2022-08-10 21:00:08  阅读:182  来源: 互联网

标签:文件 系列 tar 压缩 Linux 命令 归档 gzip


前言

Linux 有三个常用的压缩命令:gzipbzip2tar 。本文介绍它们的区别和简单用法。

压缩文件

数据压缩是去除数据中冗余部分的过程,需要通过压缩算法完成。这些算法可分为两类:

  • 无损压缩:保留原始文件中包含的所有数据。
  • 有损压缩:在进行压缩时删除数据,以便应用更多的压缩。当文件被恢复时,它与原始版本不一致,是一个近似值。JPEG和MP3是有损压缩的例子。

gzip命令

该命令被用来压缩一个或多个文件。它将原始文件替换为压缩版本。

该命令的语法为gzip file

image.png

我们可以使用gunzip来解压缩。

image.png

gzip有诸多选项,使用命令man gzip查看完整的列表。

如果想要查看压缩的文本文件的内容,可以使用gunzip -c 或者 zcat进行查看。

image.png

image.png

bzip2命令

该命令与gzip类似,但使用了不同的压缩算法,并以压缩速度为代价实现更高的压缩水平。

用来压缩的命令:

bzip2 sample.txt

用来解压缩的命令:

bunzip2 sample.txt.bz2

bzip2也有几个受支持的选项。

归档文件

归档是将许多文件收集起来,并将它们打包在一起成为一个大文件的过程。

tar命令

tar程序是归档文件中的经典工具。如果你看到一个以.tar为扩展名的文件名,它表示一个普通的tar归档文件,如果它以.tgz结尾,它表示一个被gzip压缩过的归档文件。

tar有几种模式。请记住,模式必须总是先被指定。

模式 描述
c 从文件和/或目录的列表中创建一个归档。
x 提取一个归档。
r 将指定的路径名,添加到归档的末尾。
t 列出归档的内容。

我已经创建了几个文件夹和文件,我可以用tar cf playground.tar playground归档它们。

image.png

我们可以使用v选项(verbose)来获得更详细的列表。

image.png

我们可以在一个新的位置提取tar。请记住,除非我们是以超级用户的身份进行操作,否则从归档中提取的文件和目录的所有权是由执行恢复的用户来承担的,而不是原始的所有者。

image.png

tar默认使用相对路径名而不是绝对路径名。这是非常有用的,因为它允许我们提取归档到任何位置,而不是必须提取到它们的原始位置。

你可以通过在tar命令中加入尾部的路径名来限制从归档文件中提取的内容,tar将只恢复指定的文件。你也可以指定多个路径名。通配符通常情况下不被支持,但GUN版本的tar通过--wildcards选项支持它们。

tar xf ../playground2.tar --wildcards 'home/azureuser/playground/dir-*/file-A'

image.png

现代版本的GNU tar分别通过使用zj选项,来直接支持gzipbzip2压缩。

image.png

T-files-from选项的缩写,它向tar指出从哪里读取它的路径名列表,以前我们告诉tar要使用的目录或文件,但现在我们使用-选项,这让tar知道要使用标准输入或输出作为要提取或归档的文件。-T选项起初有点令人困惑。这个命令是在说:

  • find playground/ -name 'file-A' 查找playground中与file-A相匹配的所有文件
  • | 将查找到的内容使用管道输出到tar
  • tar czf playground 创建一个被gzip压缩的tar,命名为playground.tgz
  • -T - 标准输出的文件,这些文件来自管道查找命令的标准输出。

标签:文件,系列,tar,压缩,Linux,命令,归档,gzip
来源: https://www.cnblogs.com/chuckQu/p/16573879.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有