Linux 文件的压缩解压
-
压缩 (Compression):将数据文件的大小缩小,从而减少存储或传输时间;
-
解压 (Decompression):将压缩后的文件恢复到原始文件的过程;
-
打包(Archiving):将多个文件打包成一个单一文件,单纯打包不会像压缩一样减小文件的大小;
打包
在大多数Linux发行版中,一般使用tar工具来进行打包,打包的同时可以使用特定的格式进行压缩,解包时会保留文件打包压缩前的属性;
https://www.cnblogs.com/heyongshen/p/16366137.html
压缩
除了使用tar打包时可以压缩文件大小外,以下这些常见的工具也能提供压缩功能;
zip
使用zip压缩一个文件时,会生成.zip结尾的文件。
特点:
-
压缩但是可能会丢失属性信息,建议用tar代替。
-
可以对目录进行压缩,通过加 -r 参数即可实现,解压缩时,使用 -d 参数实现,也可以使用unzip实现。
-
zip默认是会保留源文件,且压缩的时候需要手动指定压缩后的文件名字。
例如:压缩一个文件
zip devicesystem.conf.zip devicesystem.conf

例如:压缩一个目录
zip -r apache.zip apache

gzip
gizp是应用最广泛的压缩工具,使用的时gzip这种压缩算法,默认会生成.gz结尾的压缩文件。tar常用的一种压缩方法也是使用gzip算法来进行压缩。
特点:
-
默认不会保留源文件,会将文件压缩成 filename.txt.gz,原始的 filename.txt 文件会被替换
-
压缩率高,但是压缩速度慢,gzip 本身是设计用来压缩单个文件,不是用来压缩目录文件的
-
使用gzip压缩的文件使用 gunzip 来进行解压,也可以使用gzip的 -d 参数解压
gzip常用参数:
-
-c 将压缩数据输出到标准输出中,并保留源文件
-
-d decompress。解压缩,相当于gunzip
-
-k, keep,保留源文件
例如:压缩单个文件
压缩单个文件时候,会自动生成压缩后的文件名,且不会保留源文件;
gzip generalsystemfe.conf

例如:压缩单个文件且保留源文件
gzip -k devicesystem.conf

bzip2
使用bzip2压缩文件会生成.bz2结尾的压缩文件。
特点:
-
压缩效率更高,速度更慢,默认也不会保留源文件;
-
解压缩也和gizp一样,可以使用-d参数
-
也是设计来压缩单个文件的,默认不能对目录进行压缩操作
例如:压缩单个文件

xz
-
xz压缩文件会生成.xz结尾的压缩文件。
-
使用方法和gzip一样,xz这个工具不常用。
-
解压也是使用 -d 参数进行解压缩
-
效率更高,但是速度比较慢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了