在Linux中如何解压和压缩文件?

大家好,我是柒星

Linux是每一个程序员或者黑客都必须掌握的一个开源系统,它可以快速帮助我们做很多事情。

在使用Linux时,我们经常需要安装新的软件、脚本或者是大量的文件。为了方便管理,这些文件通常是被压缩为一个后缀名为.tar的文件。这是一个相对来说比较小的文件,方便我们下载使用等一些操作。本文章来自公众号【Honker】,有关更多Linux学习资料,可进行查看,公众号内点击学习资料,进行回复获取~

作为Linux的爱好者,我们需要明白如何解压.tar文件用来提取该文件中的内容。相反的,我们也需要了解如何把一个文件压缩为.tar文件用来发送或者存储。

大多数Windows世界的人(用户)可能对.zip格式很熟悉。Windows内置的.zip实用程序使用户可以将多个文件合并到一个文件夹中,然后压缩该文件夹以使其更小以通过一些软件(微信)或可移动存储进行传输。在本教程中,我们要解决的过程等同于Windows世界中的压缩和解压缩。

首先,我们需要了解什么是压缩?

压缩可以分为两类:有损和无损。

有损压缩会丢失信息的完整性。换句话说,压缩/解压缩的文件与原始文件不完全相同。这对于图形,视频和音频文件非常有用,这些文件几乎不会注意到文件中的较小差异(.mp3和.jpg都是有损压缩算法)。

发送文件或软件时,不接受有损压缩。解压缩后,我们必须与原始文件保持完整性。这就是我们在这里讨论的压缩类型(无损)。

接下来,就开始吧!
No.1

压缩多个文件

在大多数情况下,归档或合并文件时,在Linux / Unix中使用tar命令。Tar代表磁带归档,用于从多个文件中创建一个文件。这些文件通常被称为存档文件,tar文件或tarball。

例如,假设我们有三个文件,nullbyte1,nullbyte2和nullbyte3。


 ls -l

在这里插入图片描述
假设我们要将这三个文件一起发送给一个别人。我们可以使用以下命令将它们组合在一起并创建单个存档文件:


tar -cvf NB.tar nullbyte1 nullbyte2 nullbyte3

我们对这些命令详细介绍:

tar是归档命令

-c表示创建压缩包

-v显示详细压缩过程(可选)

-f从以下文件写入或读取

NB.tar是我们想要的新文件名


当我们对目录进行全部显示时,这将获取所有三个文件并创建一个文件NB.tar,如下所示。
在这里插入图片描述
请注意压缩包的大小。将这三个文件归档后,tar会花费大量空间。归档前三个文件的总和为72个字节。存档后,压缩包已增加到10,240字节。归档过程已添加了1,000多个字节。尽管对于较小的文件,此开销可能很重要,但是对于越来越大的文件,此开销变得越来越不重要。

然后,我们可以使用tar命令从tarball中显示这些文件,然后使用-tvf显示文件,如下所示。

tar -tvf NB.tar

在这里插入图片描述
然后,我们可以使用tar命令从压缩包中提取那些文件,然后使用-xvf提取文件,如上所示。

tar -xvf NB.tar

可以使用-xf删除文件,删除后无提示信息,如上图


tar -xf NB.tar

No.2

压缩档案
Tar能够提取许多文件并将它们制成一个存档文件,但是如果还要压缩这些文件怎么办?在Linux中,我们有三个命令可以创建压缩文件:
gzip(.tar.gz或.tgz)

bzip2(tar.bz2)

compress(.tar.Z)
它们都能够压缩我们的文件,但它们使用不同的压缩算法,并有不同的压缩比。

使用Gzip

让我们首先尝试gzip,因为它是Linux中最常用的压缩实用程序。我们可以通过键入以下内容来压缩NB.tar文件:


gzip NB.*

请注意,我在文件扩展名中使用了通配符(*),这意味着该命令应适用于任何以“ NB”开头且具有任何文件扩展名的文件。以下示例将使用类似的符号。当我们在目录上列出一长串内容时,我们可以看到它已将文件扩展名更改为.tar.gz,并且文件大小已压缩为仅231个字节!

在这里插入图片描述
然后,我们可以使用gunzip命令解压缩该文件。

gunzip NB.*

完成后,该文件将不再以.tar.gz扩展名保存,现在已恢复为其原始大小10,240字节。

使用Bzip2

在Linux中,其他广泛使用的压缩实用程序之一是bzip2。它的工作方式与gzip类似,但压缩率更高。我们可以通过输入以下内容来压缩NB.tar文件:


bzip2 NB.*

在这里插入图片描述
如上图显示,bzip2已将文件压缩为仅222个字节!另请注意,文件扩展名现在是.tar.bz2。

要解压压缩文件,可以使用bunzip2。

bunzip2 NB.*

完成后,文件将恢复为原始大小,文件扩展名将返回.tar。

使用compress

最后,我们可以使用命令compress来压缩文件。这可能是最不常用的压缩实用程序,但是很容易记住。


compress NB.*

在这里插入图片描述
请注意,在上面的屏幕截图中,compress实用程序将文件的大小减小到395字节,几乎是bzip2大小的两倍。另请注意,文件扩展名现在是.tar.Z(大写字母Z)。

要解压缩同一文件,可以使用uncompress或gunzip命令。


uncompress NB.*

No.3

解压缩和解压缩VMware Tools

现在我们对这些工具有了基本的了解,让我们在实际示例中使用它们。包括我在内的许多人都将VMware Workstation用作虚拟化系统。它可以使你在一台物理计算机上运行许多操作系统。

如果你使用过VMware Workstation,你可能知道VMware鼓励你下载并安装其VMware工具。安装VMware工具时,操作系统将更好地集成到主机操作系统中,其中包括更好的图形性能,拖放功能,共享文件夹和更好的鼠标性能等等。

在这里插入图片描述
现在,我们已经下载了VMware工具,你可以看到它是一个压缩包,并使用gzip压缩。我们知道这是因为它的文件扩展名为.tar.gz。因此,要对其进行解压缩并分离每个文件以便我们可以使用它们,可以使用以下命令:

tar -xvzf VMwareTools-.9.6.2-1688356.tar.gz

命令详解:

tar是归档命令

-x表示提取

-v显示详细解压过程

-z用于解压缩

-f将命令定向到后面的文件

在这里插入图片描述
当我们按下回车键时,压缩的tarball被解压缩并提取。从此VMware压缩包中提取并解压缩了数百个文件。现在,我们只需要运行脚本即可安装这些工具。

归档和压缩是任何黑客/管理员在使用Linux时都必须理解的关键Linux技能。

好了,到这里今天的内容就讲完了,你明白了吗?

如果您喜欢我的文章就关注我们吧,每天get新技能!公众号内点击学习资料,获取学习视频!

发布了30 篇原创文章 · 获赞 16 · 访问量 3112

猜你喜欢

转载自blog.csdn.net/weixin_43729943/article/details/103731971