linux 的压缩包一般有5种,本文介绍 .zip .tar .gz
首先要弄清两个概念:打包和压缩。
打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
压缩命令tar
tar -zcvf txt.tar *.txt
把所有*.txt文件打包并 压缩名为【txt.tar】的文件
tar -xvf txt.tar
解压文件 ,解压完之后 ,txt.tar 文件仍然在
看来是压缩了,两个文件 21+30=51M,压缩完5.5M。
上面的方式是压缩为一个打包文件,-c就是【建立压缩档案】的意思。所以压缩后产生的压缩文件 all.tar 并不会因为解压缩而【消失】。
压缩命令gzip[压缩]--gunzip/gzip[解压 gzip加参数]
gzip tools.txt
压缩【tools.txt】文件 ,压缩之后源文件 消失
gunzip tools.txt.gz
解压文件【tools.txt.gz】 ,解压之后 gz 压缩包消失
zcat tools.txt.gz
查看压缩文件【tools.txt.gz】内容
cat tools.txt
查看文件【tools.txt】内容
gzip -d9 tools.txt.gz 解压文件【-d :解压缩的参数; -# :压缩等级, 1 最不好, 9 最好, 6 是默认值!】
这种方式:
压缩后,原txt文件【转化】为压缩文件,解压后又【还原】为txt文件。
gzip同时压缩多个文件,
压缩命令zip/unzip
zip a.zip ciap_interface.2018-05-17.log 将ciap_interface.2018-05-17.log 压缩为 a.zip 源文件保留
unzip a.zip
解压a.zip,压缩包保留
zip 也可以压缩多个文件
zip b.zip *.log
解压
区别:
tar 和 zip 都可以指定压缩完的压缩包名字,并支持打包,源文件保留。
gzip只能压缩单个文件,不支持打包,源文件不保留。