linux系统下的文件与文件系统的压缩

今天我们就来聊一下关于在Linux系统下的文件压缩问题。
在Linux系统上最常见的压缩命令就是gzip,bzip2,xz以及一个打包命令tar。
接下来我们一个一个来看:

1.gizp

gzip可以说是目前应用最广的压缩命令了,目前可以解开compress,zip,gzip等软件所压缩的文件。
接下来我们来看看这个命令的具体语法:

gzip [-cdtvk#] 文件名
选型与参数:
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理。
-d:解压缩的参数。
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误。
-v:可以显示出原文件/压缩文件的压缩比等信息。
-k:在压缩或解压时,保留输入文件。
-#:#为数字的意思,代表压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认值为-6

这里有一点需要注意,在使用gzip进行压缩时,在默认状态下原本的文件会被压缩成.gz后缀的文件,源文件就不存在了。倘若想要保留源文件就请使用-k参数。

2.bzip2

bzip2的存在实际上是为了替换gzip并提供更佳的压缩比而来的。
接下来我们来看看这个命令的具体语法:

bzip2 [-cdkzv#] 文件名
选型与参数:
-c:将压缩过程产生的数据输出在屏幕上。
-d:解压缩的参数。
-k:保留原始的文件,而不会删除原始的文件。
-z:压缩的参数(默认值,可以不加)。
-v:可以显示出原文件/压缩文件的压缩比等信息。
-#:与gzip同样的,都是计算压缩比的参数,-9最佳,-1最快。

bzip2的用法几乎与gzip相同,只是扩展名由.gz变成.bz2而已。
bzip2与gzip的差别:bzip2的压缩率比gzip要好些,不过对于大容量的文件来说,bzip2压缩时间会花比较久,这个很容易理解,要有更多可用容量,就要花费相对应的时间。

3.xz

虽然bzip2已经具备很棒的压缩比了,但是某些开发者还不满足,因此后来推出了xz这个压缩比更高的软件。
接下来我们就来看看这个命令的具体语法:

xz [-dtlkc#] 文件名
选型与参数:
-d:就是解压缩。
-t:测试压缩文件的完整性,看有没有错误。
-l:列出压缩文件的相关信息。
-k:保留原本的文件不删除。
-c:同样的,就是将数据在屏幕上输出的意思。
-#:同样的,也有较佳的压缩比的意思。

xz的用法也和gzip/bzip2几乎一模一样,但是xz的压缩比好太多太多了,同样,xz的最大问题也是花费的时间太久了。

4.tar

以上的三个命令大多仅能针对单一文件来压缩。而tar可以将多个目录或文件打包成一个大文件,同时还可以通过以上三种命令的支持,将该文件同时进行压缩。
接下来我们就来看看这个命令的具体语法(由于tar的选型与参数繁多,我们只列举几个常用的):

tar [-z|-j|-J] [cv] [-f待建立的新文件名] filename//打包与压缩
tar [-z|-j|-J] [tv] [-f既有的tar文件名] //查看文件名
tar [-z|-j|-J] [xv] [-f既有的tar文件名] [-C目录] //解压缩
选项与参数:
-c:建立打包文件,可搭配-v来查看过程中被打包的文件名。
-t:查看打包文件的内容含有哪些文件名。
-x:解包或解压缩的功能,可以搭配-C在特点目录解压,特别留意的是,-c,-t,-x不可在同一串命令行出现。
-z:通过gzip的支持进行压缩/解压缩。
-j:通过bzip2的支持进行压缩/解压缩。
-J:通过xz的支持进行压缩/解压缩。
-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来。
-f filename:-f后面要立刻接要被处理的文件名。
-C:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-p:保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件。
-P:保留绝对路径,即允许备份数据中含有根目录存在之意。
--exclude=FILE:在压缩的过程中,不要将FILE打包。

猜你喜欢

转载自blog.csdn.net/ABded/article/details/105955139