为什么要压缩文件
因为在现实的生产环境当中,磁盘空间的实用情况和网络带宽的大小都属于成本因素,而使用压缩文件不仅能提高磁盘的利用率还能在传输的过程中节省带宽。
在Windows下最常见的.rar格式的文件Linux是不能识别的。Linux最常见的压缩文件通常都是.tar.gz格式的,除此之外还有.tar、.gz、.bz2、.zip等格式,之前说过Linux系统下的文件后缀名并没有实际意义,但是为了区分使用的什么压缩工具,我们的压缩文件最好加上后缀名。
压缩文件后缀名如下:
- .gz:表示由gzip压缩工具压缩的文件
- .bz2:表示由bzip2压缩的文件
- .tar:表示由tar打包程序打包的文件,(tar没有压缩功能,它只是把一个目录合并成了一个文件)
- .tar.gz:可以理解为先由tar打包,然后再由gzip压缩
- .tar.bz2:可以理解为先由tar打包,然后再由bzip2压缩
- .tar.xz:可以理解为先由tar打包,然后再由xz压缩
gzip压缩工具
gzip命令的格式为:gzip [-d#]_ filename_ ,其中#为数字1~9 ,表示压缩级别
- -d 该参数在解压缩时使用。
- -# 表示压缩级别,1~9 压缩级别递增,默认级别是6
- gzip 不能压缩目录
- zcat xx.gz 查看压缩文件
- gzip -c_ filename_ > /xx/filname.gz 压缩某文件并将压缩后的文件放在/xx/目录下(保留源文件)
- gunzip -c /xx/filname.gz > /yy/_filname1 _ 将/yy/目录下的filname.gz压缩文件解压到/yy目录下,更名为filname1 (保留原压缩文件)
bzip2压缩工具
bzip2 命令的格式为bzip2 [-d / -z]_ filename_,它只有压缩-d和解压-z两个常用选项在压缩是可以不加- z 选项。压缩级别同样是1~9 ,默认的压缩级别是9,bzip2 命令也同样不能压缩目录,在压缩目录是会报错。
xz 压缩工具
xz命令格式为 xz [-d /-z] ,和bzip2相似,xz -z 命令压缩文件,xz -d命令解压缩。xz命令同样不可以压缩目录。
tar打包工具
tar本身就是一个打包工具,它可以把目录打包成一个大文件,它可以把所有文件整合成一个文件,方便复制或移动,tar命令格式:tar [- zjxcvfpP]_ filename_
- z :表示打包的同时用gzip压缩
- j :表示同时用bzip2 压缩
- J :表示同时用xz压缩
- x :表示解包或者解压缩
- t :表示查看tar包里的文件
- c :表示建立一个tar包或者压缩文件包
- v :表示可视化
- f :表示后面跟文件名(压缩后的文件名,或者解压文件的文件名)当有多个参数时 ,-f要放到最后面。
- p :表示使用原文件的属性,压缩前什么属性,压缩后还是什么属性。
- P :表示可以使用绝对路径
- -exclude filename :表示在打包或压缩时,不要将filename文件包括在内。