面试被问Linux压缩格式?这一篇帮你搞定!

0 阅读2分钟

绪论

在Linux系统中,为了节省空间,便于传输我们通常要借助压缩来达到相应的目的。压缩在文件传输,系统备份的场景中经常使用。本文将从三种压缩方法和具体的命令应用来介绍。

三种压缩方法

压缩有三种方法分别是:gzip,bzip2,xz.为了更加清楚地展示这三种压缩方法的区别,下面用表格来展示:

特性gzipbzip2xz
常用后缀.tar.gz / .tgz.tar.bz2.tar.xz
tar选项-z-j-J(大写)
压缩比低(最快)高(最慢)
压缩速度⭐⭐⭐⭐⭐⭐⭐⭐
解压速度⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
适用场景日常使用、网站资源软件打包源码发布、长期归档
CPU占用

具体命令书写

明白了三种压缩方法的区别之后,我们来看具体的命令应该怎么写。在Linux中,命令分为命令+选项+参数三部分。压缩命令统一为tar,基本的命令格式为:

tar [选项] [压缩包名] [要压缩的文件/目录]

选择哪种压缩方法在选项中体现:-z = gzip,-j = bzip2,-J = xz(大写J)。所以:

# gzip 格式(最常用)
tar -czf  backup.tar.gz  /要打包的目录

# bzip2 格式(压缩比中等)
tar -cjf  backup.tar.bz2 /要打包的目录

# xz 格式(压缩比最高,最慢)
tar -cJf  backup.tar.xz  /要打包的目录

选项中不仅能体现我们选择了什么压缩方法,还能体现我们到底在执行什么操作,常见的选项如下:

选项作用举例
-c创建归档tar -c
-x解压归档tar -x
-f指定文件名-f backup.tar.gz
-v显示详情-v(看到正在处理的文件)
-t查看内容tar -tf backup.tar.gz
-C指定解压目录tar -xzf backup.tar.gz -C /tmp

举个例子:现在我们要创建名为/root/backup.tar.gz的tar包,用来压缩/usr/local目录,这个命令我们应该怎么写呢?

还是分成三部分看,命令,选项,参数。 命令为tar;选项这里选择-z(因为这里要求我们创建后缀为.gz的包),-c(因为此处要求我们创建),-f(这里需要指定文件名),-v(显示详情);最后是参数,压缩包名和要压缩的目录都已经告知我们,这里复制粘贴即可。所以最后的命令应该是:

tar czfv /root/backup.tar.gz /usr/local

最后可以使用以下命令查看是否有我们刚刚压缩的包

ll

感谢您读到这里!希望对您学习Linux压缩有帮助。第一次写博客,如果哪里有错误或可以改进的地方,非常欢迎您指出来,我会认真学习和修改!