lz zstd 后缀的文件解压以及压缩应用
lz zstd 后缀的文件解压以及压缩应用Linux的复杂可能在压缩文件以及解压缩方面有所体现,Linux下常用压缩格式为tar.gz,tar.xz,tar.bz2,zip,在Windows常用的rar反而比较少见。 压缩文件(文件夹)的目的一般为备份系统以及重要文件以节约磁盘空间,压缩网络传输文件以节约有限的网络带宽,仅此两个目的。出于此目的,由于算法的不同,压缩比率也是千差万别,因此又有lz格
lz zstd 后缀的文件解压以及压缩应用
Linux的复杂可能在压缩文件以及解压缩方面有所体现,Linux下常用压缩格式为tar.gz,tar.xz,tar.bz2,zip,在Windows常用的rar反而比较少见。 压缩文件(文件夹)的目的一般为备份系统以及重要文件以节约磁盘空间,压缩网络传输文件以节约有限的网络带宽,仅此两个目的。出于此目的,由于算法的不同,压缩比率也是千差万别,因此又有lz格式,lz4和zstd格式的文件。
lz格式的文件具有更高的压缩比,一般压缩后的体积为gz格式的四分之一或者五分之一。zstd是deb格式文件打包成tar的形式出现。
一,lz格式的解压缩和压缩以及与gz格式压缩对比
lz格式的文件解压缩和压缩的基础命令为lzip(在centos系列为这个命令),该命令需要安装,安装命令为 yum install lzip -y
(1),压缩 系统文件夹 /etc
首先,保存/etc文件夹到当前目录,cp -r /etc . ,lzip 只能压缩文件而并不能压缩文件夹,这点需要注意,因此有两个选择,一个是先使用tar命令打包 /etc这个文件夹,一个是两个命令联合使用先打包然后lzip接着压缩处理。
命令如下: tar cvf etc.tar.lz etc --lzip (联合命令)
tar cvf etc.tar.gz etc
lzip -v -k -9 etc.tar.gz(分步命令) 其中的参数代表的意思分别为:-v 表示输出详细信息,-k保留原始文件,也就是不删除那个gz文件,-9表示最高压缩比,等于 --best
[root@centos7 mnt]# lzip -kv -9 etc.tar.gz
etc.tar.gz: 4.607:1, 1.736 bits/byte, 78.30% saved, 33761280 in, 7327573 out.
#输出表示压缩比4.6.07:1 ,也就是接近5比1,原文件大小33761280byte,压缩后大小7327573byte。
经过观察,可以看到lzip压缩比是明显的高于其余命令,原始etc文件夹容量为36M,tar.gz 默认压缩为33M,lz压缩后为7M,当然,这么高的压缩比是性能和时间的牺牲,越大的文件压缩需要的时间越多哦。
-rw-r--r-- 1 root root 33M Dec 1 10:56 etc.tar.gz
-rw-r--r-- 1 root root 7.0M Dec 1 10:56 etc.tar.gz.lz
(2),解压lz格式的文件
解压命令就简单了,lzip -d 要解压缩的文件名 如果有tar的壳就脱壳,没有就接压缩了。以本例为例, lzip -d etc.tar..lz 后会得到 etc.tar.gz 文件,没有加 -k参数因此原lz格式文件被删除了,在解压 etc.tar.gz 文件就得到了文件夹哦。
二,zstd格式文件解压缩(centos系列内)
同样需要安装zstd命令,命令如下:
yum install zstd -y
tar -I zstd -xvf frpc-0.33.0-1-x86_64.pkg.tar.zst tar命令的 -I 参数是指定解压缩使用哪个命令的意思 -I, --use-compress-program=PROG
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)