Linux文件的压缩

Posted tryhardwy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文件的压缩相关的知识,希望对你有一定的参考价值。

Linux下有很多的命令可以实现文件的压缩,也使得存在各种扩展名的压缩文件。以前看到这些命令和参数,真是不知道该选哪个好,所以今天系统的学习了一下,也总结一下,希望也能对看到这篇博客的同学有所帮助。

文章主要有三个部分,什么是文件压缩、压缩的命令与参数、打包与压缩的命令与参数。

一、文件压缩

什么是文件压缩?通俗点说就是较大的文件经过压缩技术以后,文件就变小了。就好比买了一袋薯片,放了气之后,整个袋子就变小了。那么放气的这个过程就是“压缩”。

那么我们计算机的文件中,如何将这些气放出去呢?目前我们使用的计算机系统中都是使用byte单位来计量的, 1byte = 8bit,每一个bit都是0或者1,那么如果要记录一个数字1,我们就需要1byte的长度来表示,即0000 0001 。这里我们就能看到,单独的表示1来说,1位就可以了,前面的7位0都是填充用的,这些位本可以空下来,压缩做的就是将这些本可以空下来,却利用0来填充占位的bit清理出来,以更简洁的方式来表示1的数值。这只是压缩技术的一种,还有其他的比如,100个连续的1,那么我们压缩后可能会纪录为“100个1“,而不是真正的100个“1”。

二、压缩的命令与参数

知道了是什么是文件压缩,那么来具体看一下linux中压缩的命令与参数。

目前常用的压缩命令有两种,gzip和bzip2 。

1、gzip

gzip可以说是目前应用最广的压缩命令了。gzip压缩后的文件是 *.gz 。

参数:

-c  :将压缩的数据以标准输出形式输出,即输出到屏幕上;

-d  :解压缩的参数;

-k  :保留原文件,压缩后存在两份文件,原文件及压缩文件;

-v  :显示出文件名和每个文件的压缩比;

-#  :压缩等级,-1最快,压缩比最低,-9最慢,压缩比最高。

对于压缩的文本文件,可以不经过解压缩,利用zcat命令直接查看文件内容。

 

2、bzip2

bzip2是新一代的压缩技术,压缩比比gzip要高。压缩后的文件是 *.bz2  。参数与gzip的参数与gzip几乎相同, 但是多了一个显式的压缩参数-z。

三、打包与压缩的命令与参数

上一节所说的压缩命令都是对单一文件来进行压缩,那么如果想对文件夹进行压缩,就需要用到打包 tar 命令。

tar命令是将多个目录或文件打包成一个大文件,本身不具有压缩的功能,但是可通过gzip/bzip2 的支持,将大文件同时进行压缩操作。

参数:

1、功能参数(命令中只能出现其中一个功能)

-c  :新建打包文件;

-t  :查看打包文件所包含的文件名;

-x  : 解打包文件;

-u  :更新打包文件。

2、支持压缩参数

-j  :通过bzip2 的支持进行压缩/解压缩,文件名最好为 *.tar.bz2 ;

-z  :通过gzip的支持进行压缩/解压缩,文件名最好为 *.tar.gz。

3、其它参数

-v  :显示正在处理的文件;

-f  :后接打包后文件的filename;

-C  :后接特定的目标目录。

举例:

压缩:  tar -jcv -f yourfilename.tar.bz2 yourfilename

查看:  tar -jtv -f yourfilename.tar.bz2

解压缩:  tar -jxv -f yourfilename.tar.bz2 -C yourdirectory

以上是关于Linux文件的压缩的主要内容,如果未能解决你的问题,请参考以下文章

linux被压缩的文件不解压缩看得到吗

linux文将于目录的压缩和解压缩命令:gzip压缩文件

如何查看一个linux压缩包的内容

怎样在linux下对目录进行压缩生成gz文件

linux 查看压缩包里文件用啥命令

linux中怎么压缩一个文件夹