目录
Linux 系统的文件压缩与打包
1.gzip压缩工具
2. bzip2压缩工具
3. xz压缩工具
4. zip压缩工具
5. tar打包
Linux 系统的文件压缩与打包
在windows系统中,我们接触最多的压缩文件是.rar格式的,但是在linux系统中,并不能识别之中格式,他有属于自己的压缩工具.
在windows和Linux系统中都能识别的压缩格式是.zip.使用压缩文件,不仅能节省磁盘空间,还能在传输时减少网络带宽.
Linux下最常见的压缩格式是.tar.gz,,除此之外,还有.tar、.gz、.bz2、.zip等格式。 在linux系统中文件的后缀名可加也可不加,但是我们的建议是最好加上,这样能够更好的判断压缩文件是由哪种压缩工具压缩的,然后方便我们对文件进行解压.
linux系统中常见的压缩文件的种类与对应的压缩工具
- .gz :表示由gzip压缩工具所压缩的文件;
- .bz2:表示由bzip2压缩工具压缩的文件。
- .tar : 由tar打包程序打包的文件(tar本身并不具有压缩功能,只是将一个目录合并成为一个文件);
- .tar.gz :表示先由.tar打包程序打包,然后由gzip压缩;
- .tar.bz2:可以理解为先由tar打包,然后再由bzip2压缩。
- .tar.xz:可以理解成先由tar打包,然后再xz压缩。
1.gzip压缩工具
gzip命令的格式为gzip [-d#] filename,其中#为1~9的数字。
-d:该参数在解压缩时使用。
-#:表示压缩等级,1为最差,9为最好,6为默认
从上图中我们可以看到,压缩之后会把原来的文件覆盖,变成压缩之后的文件.
对文件进行解压之后也是一样的结果,原来的压缩包会被解压之后的文件给替换掉.
gzip不支持压缩目录,使用gzip命令进行压缩目录时会报错.
2. bzip2压缩工具
bzip2命令的格式为bzip2 [-dz] filename,它只有-z(压缩)和-d(解压缩)两个常用选项。
压缩级别有1~9,默认级别是9。
压缩时,加或不加-z选项都可以压缩文件
加-d选项可以解压
bzip2命令也不能用来压缩目录,压缩目录时会报错
3. xz压缩工具
xz命令的格式为xz [-dz] filename,和bzip2类似. xz命令同样也不可以压缩目录,压缩目录时会报错
4. zip压缩工具
zip压缩包在Windows和Linux中都比较常用,它可以压缩目录和文件,压缩目录时,需要指定目录下的文件.
做完试验后就会发现,当目录下还有二级目录甚至更多级目录时,zip命令仅仅是把目录本身压缩而已。
如果想要一并压缩二级目录下的文件, 必须加上-r选项
5. tar打包
打包与压缩不同, 打包是指把一个目录打包成一个文件, 这个文件可以再去通过压缩工具进行压缩
tar本身就是一个打包工具,可以把目录打包成一个文件,它把所有文件整合成一个大文件,方便复制或者移动。该命令的格式为 tar [-zjxcvfpP] filename target ,它有多个选项
- -z:表示同时用gzip压缩。
- -j:表示同时用bzip2压缩。
- -J:表示同时用xz压缩。
- -x:表示解包或者解压缩。
- -t:表示查看tar包里的文件。
- -c:表示建立一个tar包或者压缩文件包。
- -v:表示可视化。
- -f:后面跟文件名(即-f filename,表示压缩后的文件名为filename,或者解压文件filename。需要注意的是,如果是多个参数组合的情况下,请把-f参数写到最后面。
- -p:表示使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用)
- --exclude filename:表示在打包或压缩时,不要将filename文件包括在内。(不常用)
tar命令的使用方法:
tar [打包后的名字] [要打包的目录]
建议打包后的名称后面跟上.tar后缀名,方便我们对文件进行区分.
将test目录进行打包.
将已经打包的test1.tar使用zip命令压缩,下面展示了打包压缩之后的解压解包过程(-f选项必须放在最后面);
压缩文件
这是直接把打包并压缩后的文件, 直接解压为文件夹
tar命令不仅可以打包目录,也可以打包文件
不管是打包还是解包,原来的文件是不会删除的,而且它会覆盖当前已经存在的文件或者目录