压缩打包介绍,gzip压缩工具,bzip2压缩工具,xz压缩工具,zip压缩工具,tar打包,打包并压缩

压缩打包介绍

  • 由于网络资源是有限的,机房服务器带宽非常昂贵
  • 怎样用合理的使用带宽是很重要的
  • 将文件压缩后,无论是存储还是传输,既节省服务器空间,又节省带宽
  • 上图是目前主要的压缩格式
  • 在linux里面,虽然不像windows一样,文件后缀名有严格限制
  • 不管什么格式的文件,都可以自定义文件后缀
  • 但是这样不利于管理,也不方便与他人沟通交流使用
  • 所以还是应该按照文件内容正确的格式来命名文件后缀

gzip 压缩工具

  • gzip是linux的一种压缩工具
  • 从上图可以看到,有一个叫做 1.txt 的文件,文件大小是3.1MB,有37860行
  • 现在使用 gzip 对1.txt进行压缩
  • 压缩命令就是 gzip 1.txt 回车就完成了
  • 然后使用 ls 查看当前目录
  • 1.txt文件消失了,出现了一个新的文件,叫做 1.txt.gz
  • 源文件被压缩后并重命名为了 1.txt.gz

  • 如上图,使用 gzip -d 1.txt.gz 命令把 1.txt.gz 文件进行了解压缩
  • 加上 -d 参数就可以对文件进行解压缩
  • 下面使用 ls 查看目录,发现 1.txt.gz 不见了,1.txt 又出现了
  • 1.txt.gz 被解压缩并重命名为了 1.txt

  • 解压缩后查看文件大小,发现只有 1.4MB ,压缩前有 3MB 左右
  • 因为原来的文件占用了很多虚的空间,压缩之后就把这些虚的空间消除掉了
  • 重新解压缩后消除掉的虚的空间并不会还原,所以文件大小还是变小了
  • 查看文件行数,跟原来一样,还是37860行,并没有因为文件变小而减少行数

  • 使用 gzip -1 1.txt 重新压缩 1.txt 文件,其中 -1 代表压缩级别
  • gzip 的压缩级别是从 1 到 9 的,压缩级别越高,压缩的越小,但是需要使用的cpu资源越多
  • 如果不指定压缩级别,默认压缩级别是 6
  • 现在指定压缩级别为 1 ,可以看到,du查看文件大小,1.txt.gz 为396kb
  • 前面使用默认压缩级别 6 压缩之后文件大小是 344kb
  • 降低压缩级别后,压缩的文件就没有那么小了
  • 一般都是使用默认的级别,不需要调整大小

  • 除了 -d 参数可以解压缩外,也可以使用 gunzip 来解压缩
  • 如上图,命令 gunzip 1.txt.gz 就可以解压缩 1.txt.gz

  • 可以使用 file 1.txt.gz 查看文件信息
  • 可以看到,文件压缩方式是 gzip,压缩前的名字是1.txt,最后一次修改的时间,压缩级别是最大级别,这次用的是9级别压缩

  • 想查看压缩文件的内容,可以使用 zcat 1.txt.gz 来查看1.txt.gz的内容
  • zcat 的工作原理就是先解压缩,然后再查看

  • 现在使用 -d 参数重新解压缩 1.txt.gz
  • 然后使用 -c 参数重新压缩 1.txt
  • gzip -c 1.txt > /tmp/1.txt.gz
  • 这个命令是把 1.txt 压缩到 /tmp 目录下面,并命名为 1.txt.gz
  • 但是源文件并不消失,可以看到,1.txt仍然存在,tmp目录下面多了一个1.txt.gz文件
  • 使用 -c 参数就可以制作源文件的压缩文件并存放在指定的位置
  • 这里就制作了一个源文件1.txt的压缩文件1.txt.gz并存放在/tmp目录下面

  • 如上图,gzip -d -c /tmp/1.txt.gz > /root/tmp/d6z/2.txt
  • 这个命令可以制作 /tmp/1.txt.gz 这个压缩文件的解压缩文件2.txt,并存放到/root/tmp/d6z目录
  • 其中 -d 代表解压缩功能,-c 可以不删除源文件,将制作好的文件放到指定位置
  • gzip 是不能压缩目录的,只能压缩文件

bzip2压缩工具

  • bzip2 可以比 gzip 压缩的更小一些,但是会耗费更多的cpu资源
  • 看上图,1.txt 大小是 1.4MB
  • 使用 bzip2 1.txt 压缩之后,用du查看,大小变成了 88kb
  • 之前使用gzip压缩后大小变成了300多kb
  • 所以bzip2可以将文件压缩得比gzip小很多

  • 可以使用 bzip2 -d 1.txt.bz2 解压缩,跟gzip一样,使用-d参数解压缩
  • 然后重新压缩一次
  • 还可以使用 bunzip2 1.txt.bz2 解压缩,跟gunzip差不多
  • bunzip2同样不能压缩目录

  • bzip2 同样可以使用 -c 参数制作源文件的压缩文件重命名并存放在指定位置
  • bzip2 -c 1.txt > 1.txt.bz2 就制作了1.txt的压缩文件1.txt.bz2并存放在当前目录下
  • 如图,bzip2 同样可以使用 -d -c 参数制作源文件的解压缩文件重命名并存放在指定位置
  • 这里就将 1.txt.bz2 的解压缩文件 3.txt 存放在当前目录下

  • bzip2 -9 1.txt 就可以指定压缩级别来压缩 1.txt
  • bzip2 的压缩级别也有9级,不过默认压缩级别就是9
  • 所以一般不需要指定压缩级别
  • 可以使用 file 1.txt.bz2 来查看压缩文件信息
  • file命令可以用在不知道文件格式的时候,可以用file查看到格式信息

  • bzcat 可以查看用bzip2压缩的文件内容

xz压缩工具

  • 不是非常常用的压缩工具,用法与gzip和bzip2大体一致
  • xz 的压缩率比 gzip 和 bzip2 都高
  • 可以看到,xz压缩之后的文件大小,比gzip和bzip2压缩后的都要小


这里给大家推荐一个在线软件复杂项交易平台:米鼠网 https://www.misuland.com

米鼠网自成立以来一直专注于从事软件项目人才招聘软件商城等,始终秉承“专业的服务,易用的产品”的经营理念,以“提供高品质的服务、满足客户的需求、携手共创双赢”为企业目标,为中国境内企业提供国际化、专业化、个性化、的软件项目解决方案,我司拥有一流的项目经理团队,具备过硬的软件项目设计和实施能力,为全国不同行业客户提供优质的产品和服务,得到了客户的广泛赞誉。

最新项目