E

EdwardWong

V1

2022/09/25阅读:31主题:姹紫

Linux之打包与压缩

打包与压缩

打包与压缩的区别

打包指的是一个文件或目录的集合,而这个集合被存储在一个文件中,归档文件没有经过压缩,其占用的空间是其中所有文件和目录的总和。

压缩也是一个文件和目录的集合,这个集合也存储在一个文件中,区别在于压缩文件采用了不同的存储方式,使其占有的磁盘空间比集合中所有文件大小的总和要小。

压缩是指利用算法将文件进行处理,以达到保留最大文件信息,而让文件体积变小的目的。基本原理为,通过查找文件内的重复字节,建立一个相同字节的词典文件,并用一个代码表示。由于计算机处理的信息是以二进制的形式表示的,因此压缩软件就是把二进制信息中相同的字符串以特殊字符标记,只要通过合理的数学计算,文件的体积就可以被大大压缩。

打包命令

最常用的打包命令是tar,使用tar命令归档的包一般以.tar结尾。

打包操作

tar [选项] 源文件或目录

-cvf是习惯用法,-c可以将多个文件或目录打包,-v显示打包过程,-f指明包的文件名。例如tar -cvf anaconda.tar anaconda-ks.cfg

打包压缩目录

压缩命令没有办法直接压缩目录,需要先进行tar打包,然后用gzipbzip2命令进行压缩。

tar -cvf test.tar /test/

gzip test.tar

解打包操作

tar [选项] 压缩包

解包和打包相比,只是把打包选项-cvf换成-xvf。 例如tar -xvf anaconda.tar此时会把包中的文件解压到当前目录下,如果要指定解压位置,则需要使用-C选项, 例如tar -xvf test.tar -C /tmp

如果只想查看文件包中有哪些文件,则可以把解打包选项-x更换为-t, 例如tar -tvf test.rar

tar命令做打包压缩及解压解包操作

tar命令是可以同时打包压缩的,用tar命令同时做打包压缩操作,其基本格式如下:

tar [选项] 压缩包 源文件或目录

两个常用的选项:

-z: 压缩或解压缩“.tar.gz”格式

-j: 压缩和解压缩".tar.bz2"格式

tar -zcvf tmp.tar.gz /tmp/ --> 打包压缩为".tar.gz格式"

tar -zxvf tmp.tar.gz --> 解压缩与解打包操作,也可以使用-C + 目录名选项用于指定解压位置,-t选项用于查看压缩包内容

tar -jcvf tmp.tar.bz2 /tmp/ --> 打包压缩为tar.bz2格式

tar -jxvf tmp.tar.bz2 --> 解压缩与解打包.tar.bz2格式。

压缩命令zip与解压命令unzip

压缩命令zip

zip命令类似于windows系统中的winzip压缩软件。

zip [选项] 压缩包名 源文件或源目录列表

zip命令可以压缩目录,需要使用-r选项, -m选项代表将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中,-v显示详细的压缩过程信息,-压缩级别 -1表示压缩速度快, -9 表示压缩效果好。

zip test.zip install.log install.log.syslog

解压命令unzip

unzip [选项] 压缩包名

unzip -d /tmp/ ana.zip --> 将压缩包解压到指定位置。

压缩命令gzip和解压命令gunzip

得到的拓展名为.gz

压缩命令gzip

gzip [选项] 源文件

对于gzip命令,不需要指定压缩之后的压缩包名,只需指定源文件名即可。

在使用gzip命令压缩文件的时候,源文件会消失。

保留源文件压缩

使用-c 将压缩数据输出到标准输出中,并保留源文件。

使用gzip压缩目录,由于gzip只会压缩,不会打包,所以对目录不会进行压缩,而只是把目录下的文件进行压缩。

解压缩文件或目录gunzip

等同于gzip -d命令

gunzip install.log.gz --> 直接解压缩文件

gunzip -r选项同样的只能解压缩目录下的文件,但是没有办法解打包, 例如gunzip -r test/

如果我们压缩的是一个纯文本文件,可以直接使用**zcat命令在不解压缩的情况下查看这个文本文件的内容,如zcat anaconda-ks.cfg.gz**

压缩命令bzip2和解压缩bunzip2命令

bzip命令同gzip命令类似,只能对文件进行压缩(解压缩),对目录只能压缩该目录及子目录下的所有文件。 gzip 只是不会打包目录,但是如果使用-r选项,则可以分别压缩目录下的每个文件;而 bzip2 命令则根本不支持压缩目录,也没有-r选项。

压缩后的文件名为.bz2格式

压缩命令bzip2

gzip命令,在压缩的同时也会直接删除源文件。如果想保留源文件,可以采用-k选项,例如bzip2 -k install.log.syslog,这样源文件和压缩文件都会存在

解压缩命令bunzip2命令

也可以使用bzip -d命令直接进行解压

gz格式一样,.bz2格式压缩的纯文本文件也可以在不解压缩的情况下直接查看,使用的命令时bzcat, 如bzcat install.log.syslog.bz2.

分类:

后端

标签:

运维部署

作者介绍

E
EdwardWong
V1