声明:本文是我在B站看苏丙温老师的课程时做的一些总结
参考资源1:Linux压缩打包命令——tar、zip、unzip_绮梦寒宵的博客-CSDN博客_linux 压缩命令
参考资源2:压缩命令 | 爱编程的大丙
压缩文件的格式包含:.tar.gz | .tgz | .tar.bz2 | .zip | .rar | .tar.xz
上面压缩文件的后缀其实没有什么特殊的意义,仅仅代表了文件是用什么方式(即什么工具)压缩的,方便日后你需要解压或者别人需要解压时来用对应的方法解压。
一、使用tar工具压缩和解压缩
linux中默认自带两个原始压缩工具:gzip和bzip2,但是它们都有先天缺陷(不能打包压缩文件,每个文件都会生成一个单独的压缩包,并且压缩后不会保留原文件)。
linux中自带一个打包工具(打包对文件大小无影响,打包后文件大小不变),叫做tar,默认情况下该工具是不能进行压缩操作的,与是tar和gzip,bzip2刚好可以互补,配合使用,linux下最强大的打包压缩工具至此诞生(当然tar和gzip,bzip2也可以单独使用,tar可用于将一系列文件打包成一个档案文件,gzip和bzip2可以用于将单个文件压缩,具体的使用方法可以查看man手册)。
注意:我们在使用tar进行压缩和解压缩的时候只需指定要用的参数,在其内部就会调用对应的压缩工具gzip或者bzip2完成指定操作。
1.1 压缩(.tar.gz .tar.bz2 .tgz)
如果使用tar完成文件压缩,涉及的参数如下,在使用过程中参数没有先后顺序:
- c:创建 压缩/打包 文件
- z:使用gzip的方式进行文件压缩
- j:使用bzip2的方式进行文件压缩
- v:压缩过程中显示压缩信息,可以省略不写
- f:指定压缩包名字(生成压缩的名字在f参数后面,可以任意指定,但是为了方便自己或别人对压缩进行解压,一般用压缩包压缩的方式来命名压缩文件后缀,eg:用tar和gzip压缩出来的文件一般把后缀名取为 .tar.gz 或 .tgz; 用tar和bzip2压缩则后缀名为 .tar.bz2)
一般认为 .tgz 文件就等同于 .tar.gz 文件,因此他们的压缩方式是相同的。
语法:(只列出一种常用语法)
$ tar 参数 生成的压缩包的名字 要压缩的文件(文件或目录)
1.2 解压缩(.tar.gz .tar.bz2 .tgz)
如果使用tar进行文件的解压缩,涉及的参数如下,在使用过程中参数没有先后顺序:
- x:释放压缩文件内容(与上面的c对应,c是压缩,x为解压)
- z:解压使用gzip方式进行压缩的文件(即后缀为 .tar.gz 或 .tgz 的文件)
- j:解压使用bzip2方式进行压缩的文件(即后缀为 .tar.bz2 的文件)
- v:解压缩过程中显示解压缩信息
- f:指定压缩包的名字
使用以上参数是将压缩包解压到当前目录,如果需要解压到指定目录,需要指定参数 -C(压缩到指定目录也可以使用-C)。
语法1:解压到当前目录中
$ tar 参数 压缩包名
语法2:解压到指定目录中
$ tar 参数 压缩包名 C 解压目录