Linux压缩与打包

常见压缩格式

在Windows下,我们最常见的压缩文件后缀格式有

  • rar:rar在Linux下很少见,因为linux默认是无法识别此格式

  • zip:一种常见兼容的格式

  • 在Linux下,我们最常见的压缩文件后缀格式有(还有其他格式)
    gz:由gzip压缩

  • bz2:由bzip2压缩

  • tar:由tar打包

  • tar.gz:由tar打包后再用gzip压缩

  • tar.bz2:由tar打包后再用bzip2压缩

  • tar.xz:由tar打包后再用xz压缩

  • zip:一种常见兼容的格式

打包在Linux下通常是tar

压缩与打包有什么区别?

打包是将多个文件或目录合并成一个文件

压缩是将单个文件使用压缩算法,减小体积

压缩工具使用

gzip压缩工具

压缩:

gzip filename
gzip -# 文件名 //这里-#表示压缩等级,取值为1~9,1为最快压缩,9为最大压缩,默认为6

解压文件:

gzip -d 压缩文件

注意:gzip压缩或解压缩,都会删除源文件

image-20240925213407755

bzip2压缩工具

压缩:

bzip2 -z filename //-z也可以不加

解压缩:

bzip2 -d filename

不管是gzip还是bzip2,都不能压缩文件夹

xz压缩工具,用法与gzip2一致

zip压缩工具

zip是可以压缩目录的

zip不会删除压缩的文件
压缩

zip-r TargetFileName 被压缩目录  //目录

zip TargerFileName 被压缩文件

解压缩

unzip 被解压文件 -d TargetPath

unzip 被解压文件//默认解压到当前路径

打包工具使用

tar打包工具

tar本身是一个打包工具,将多个文件整合成一个大文件

tar将文件打包后,可以使用各种压缩工具进行压缩

tar的常用参数说明:

  • -z表示使用gzip压缩
  • -j表示使用bzip2压缩
  • -J表示使用xz压缩
  • -x表示解包,或解压缩
  • -c表示建立一个tar包
  • -f后跟具体文件名,指定文件
  • -v显示操作的详细信息

tree查看目录test2结构

tar-cvf test2.tar test2

将test2目录打包成test2.tar文件

image-20240925214039715

打包同时,使用压缩算法,加入相应的参数即可

-z 表示gzip

-j表示bz2

注意,生成文件的后缀名要写清楚,这样便于解压

image-20240925214032184

解包tar包

解包和打包不同的是

使用-x表示解包,替换之前的创建-c

同样使用-z表示gzip算法

如果使用-j,对gz文件,则报错

image-20240925214123322

使用-tf参数直接查看打包内容
image-20240925214210696

排除选项

–exclude 文件名

不需要指定具体的排除文件路径,有多个重名文件都会被排除掉

image-20240925214244494