一、关于tar
tar命令可以为Linux的文件和目录创建归档。
利用tar,可以为某一特定文件创建归档(备份文件),也可以在归档中改变文件,或者向归档中加入新的文件。
tar最初被用来在磁带上创建归档,现在,用户可以在任何设备上创建归档,利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的,生成tar包后,就可以用其它的程序来进行压缩。
# yum -y install tar
二、关于gzip/gunzip
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
gzip是在Linux系统中经常使用的一个 对文件进行压缩和解压缩的命令,既方便又好用。
gzip不能针对整个目录进行压缩,只能递归压缩目录下的每一个文件,当然,替代方案是只用tar进行打包,用gzip进行压缩。
如何在 Linux 中压缩及解压缩 .bz2 文件
https://linux.cn/article-7964-1.html
# yum -y install gzip
# gzip --help
# gunzip --help
三、关于bzip2/bunzip2
对文件进行压缩,可以通过使用较少的字节对文件中的数据进行编码来显著地减小文件的大小,并且在跨网络的文件的备份和传送时很有用。 另一方面,解压文件意味着将文件中的数据恢复到初始状态。
bzip2 是一个非常有名的压缩工具,并且在大多数主流 Linux 发行版上都有,你可以在你的发行版上用合适的命令来安装它。
# yum -y install bzip2
# bzip2 --help
四、关于xz
认识tar.xz格式文件是在Linux内核的官方网站上,比如最新的Linux内核3.12,就是.xz后缀的文件。
根据维基百科的解释, xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpioUnix程序创建的归档。xz 在GNU coreutils(版本 7.1 或更新)中被使用。xz 作为压缩软件包被收录在 Fedora (自Fedora 12起), Arch Linux, FreeBSD、 Slackware Linux、CRUX 和 Funtoo中。
由于 xz 文件格式的压缩率更高,已在 Linux 各发行版中广泛使用。
https://teddysun.com/294.html
https://wangchujiang.com/linux-command/c/xz.html
# yum -y install xz
# xz --help
五、关于zcat
通常,使用gzip压缩的文件可以使用gzip -d或gunzip命令恢复为原始格式。
如果要在不解压缩压缩文件的情况下查看压缩文件的内容,该怎么办? 为此,您需要zcat命令实用程序。
zcat命令可以查看一个gzip格式的压缩文件。
zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
zcat命令也可以解压缩数据,并把解压后的文件内容显示在屏幕上,但是 在运行zcat命令之后,压缩文件的内容并不发生变化,仍然以压缩方式存储在硬盘上。
新手的Linux zcat命令示例
https://www.howtoing.com/linux-zcat-command-examples
查看.gz文件
# zcat file.gz
解压缩.tar.gz文件
# zcat file.tar.gz | tar xvf -
# tar zxf file.tar.gz
# rpm -ivh https://repo.zabbix.com/zabbix/4.3/rhel/7/x86_64/zabbix-release-4.3-1.el7.noarch.rpm
# yum list available --disablerepo="*" --enablerepo="zabbix"
# yum -y install zabbix-server-mysql-4.4.0
# ll /usr/share/doc/zabbix-server-mysql-4.4.0/
# zcat /usr/share/doc/zabbix-server-mysql-4.4.0/create.sql.gz | mysql -u zabbix -p"Zabbix@123" -D zabbix
相当于:
# cd /usr/share/doc/zabbix-server-mysql-4.4.0/create.sql.gz
# gzip -d create.sql.gz
# mysql -u zabbix -p"Zabbix@123" -D zabbix < create.sql