在Linux系统中,gzip是一个备受欢迎的压缩工具。它可以将文件或目录压缩成.gz格式的文件,从而减小文件的大小,方便传输和存储。不过,很多人只知道gzip是一个实用的工具,但并不了解其原理是如何实现的。本文将,让大家了解gzip的底层技术。
创新互联是一家专注于成都网站设计、网站制作与策划设计,磐石网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:磐石等地区。磐石做网站价格咨询:13518219792
一、gzip的基本原理
gzip是一种基于Lempel-Ziv算法的压缩工具。在进行压缩过程中,gzip通过字典查找的方式,将输入的字符序列划分成不同的字串,并对每个字串进行编码。具体来说,gzip利用哈希表记录出现频率较高的字串,从而更快地在字典中查找对应的编码。由于压缩后的输出比压缩前的输入要小很多,gzip可以在几乎不影响压缩文件质量的前提下,大大减小文件的大小。
在解压缩过程中,gzip先读取压缩文件的头部信息,然后根据头部信息中的压缩算法,选择相应的解压缩算法,并开始还原压缩文件。解压缩过程中,gzip会根据字典对编码进行反向查找,将编码还原成字符序列,并输出至解压缩文件。
二、gzip的常用操作
gzip是一种常用的压缩工具,常见的操作包括:
1.压缩文件
通过以下命令,将文件进行压缩:
gzip
此命令将会生成一个.gz格式的文件,文件名为.gz。
2.解压文件
通过以下命令,将.gz格式的文件进行解压缩:
gzip -d .gz
此命令将会还原.gz文件,并在当前目录下生成一个与原文件同名的文件。
3.压缩目录
通过以下命令,将目录进行压缩:
tar czvf .tar.gz
此命令将会把指定的目录以及子目录中的文件进行压缩,并生成一个.tar.gz文件。
4.解压目录
通过以下命令,将.tar.gz格式的文件进行解压缩:
tar xzvf .tar.gz
此命令将会把.tar.gz文件解压缩,并生成一个与压缩文件同名的目录。
三、gzip的高级技巧
除了基本的压缩和解压缩操作之外,gzip还有一些高级的技巧,可以让我们更好地利用这个工具。以下列举一些常见的高级操作:
1.使用多个处理器
由于gzip的压缩和解压缩过程都是CPU密集型的任务,使用多个处理器可以大大加快处理速度。可以使用以下命令,指定处理器的数量:
gzip –fast –threads
此命令将会使用个处理器,提高处理速度。
2.压缩比与速度的取舍
当我们选择压缩或解压缩文件时,我们可以选择“-1”到“-9”共9个不同的等级。数字越大,压缩比就越高,但处理速度也越慢。可以使用以下命令,指定压缩等级:
gzip –
此命令将会以指定的压缩等级进行文件压缩。
3.压缩文件的分块
gzip也支持将压缩文件分块,可以提高读写速度。可以使用以下命令进行分块:
gzip -c | split -b 100M – .gz.
此命令将会将文件进行压缩,并将压缩后的文件分为多个大小为100M的块。
四、
相关问题拓展阅读:
gzip
本身并没有解压到指定目录的参数。
如果是单文件压缩,可以用-c加输出重定向实现指定解压目录,如:
echo hello > xxxx #创建一个文件
mkdir dir#创建一个测试目录
gzip -c xxxx > ./dir1/xxxx.gz
rm xxxx
cd dir1
gzip -cd xxxx.gz > ../xxxx
ls -l xxxx
如果是用tar命令打包的文件
压缩包
,可咐庆岩以直接用tar命令-C功能指定差瞎目录,如:
tar cvf xxx.tar xxxx #文件打包
gzip xxx.tar #压缩
tar zxvf xxx.tar.gz -C ./dir1 #解压到指定目录
ls -l ./dir1/衡御xxxx #查看结果
(1)使如行用tar命令备份数据的格式如下:
$ tar cvf backup.tar /home/html
上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。
cvf是tar的命令参数。
c代表创建一个渣贺哗档案文件,
v代表显示每个备份的文件名字,
f表示tar创建的档案文拍并件名是后面的backup.tar,
/home/html 代表tar要备份的文件或和目录名。
(2)使用tar命令恢复数据的格式如下:
$ tar xvf backup.tar
上述命令将备份文件backup.tar恢复到当前目录下。
通常情况下,tar对文件进行备份的时候并不对文件进行压缩,因此备份文件的尺寸非常大。使用如下的命令,将使tar在备份结束以后,自动使用gzip命令对备份文件进行压缩,得到一个相应的gz文件。
$ tar zcvf backup.tar.gz /home/html
这样,我们可以得到压缩文件backup.tar.gz。
zip命令….
# mkdir /home/shiyanlou
# touch test
# tar cjf test.tar.bz2 test
# ll /home/shiyanlou/;
total 0
# tar xvf test.tar.bz2 -C /激带核home/shiyanlou/明掘
test
# ll /home/shiyanlou/
total 4
-rw-r–r– 1 root root 13 Dec 15 15:42 test
# touch test1
# zip test1.zip test1
adding: test1 (stored 0%)
# unzip test1.zip -d /home/shiyanlou/
Archive: test1.zip
extracting: /行告home/shiyanlou/test1
# ll /home/shiyanlou/
total 4
-rw-r–r– 1 root root 13 Dec 15 15:42 test
-rw-r–r– 1 root root 0 Dec 15 15:43 test1
很多人在学习云计算之初,都要学习Linux,云计算服务是部署在Linux系统中的。不过Linux涵盖的知识点非常多,你不仅要掌握各种操作命令,还要了解Linux文件的打包与压缩,接下来的杭州云锋衫计算入门课程就给大家简单分享。
在Linux系统中,通常我们使用的打包压缩工具有.tar.gz、.tar.bz2、.zip、gzip、bzip2只压缩文件和tar只打包文件。
tar
只打包文件
tar的打包解包:
tar cvf file.tar 被打包的文件
tar xvf file.tar -C /home 指定解压路径
不解压查看压缩包内的信息内容:
tar -tf dir1.tar.gz
gzip压缩解压:
gzip 源文件
gzipd 压缩文件
gunzip 压缩文件
gzip -c file1 >/home/file1.gz 将文件压缩到指定位置(注意以.gz结尾)
bzip2
只压缩文件bzip2命令的压缩与解压
bzip2 源文件
bzip2 -d 压缩文件
bunzip2 压缩文件
bzip2 -c file1 >/opt/file1.bz2 将文件压缩到指定位置(注意以.bz2结尾)
打包压缩
tar与gzip命令结合可以实现文件打包压缩,
用gzip压缩tar打包后的文件,其扩展名一般用xxx.tar.gz
tar与bzip2命令结合也可以实现文件的打包压缩,
其扩展名一般用 xxx.tar.bz2
优缺点
bzip2有比较高的压缩比,相应的压缩用时也要久一些,占用的系统内存也更大;
gzip更大的优势就是压缩解压速度快,压缩比稍逊于bzip2;
临时性的压缩包尽量选择压缩速度快的格式,如.gz;
用于持久备份或存档的文件,尽量选择压缩比较大的格式,如.bz2。
最后,它们之间还有一些区别,tar可以打包文件和目录,而bzip2和gzip只能压缩文件。
在Linux中,软件安装的方式有三种:
一、源代码形式
1、绝大多数开源软件都是直接以原码形式发布的
2、源代码一般会被打包成.tar.gz的归档压缩文件
3、源代码需要编译成为二进制形式之后才能够运行使用
4、源代码基本编译流程:
1).configure 检查编译环境,这里可以通过–prefix等命令配置安装路径(好像)
2)make对源代码进行编译;
3)make insall 将生成的可执行文件安装到当前计算机中
二、RPM
1、源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂
2、为了方便,RPM(redhat package manager)
3、RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定不同的包
4、常用命令规范:linuxcast-1.2.0-30.el6.1686.rpm 包名-版本号-适用平台-32/64-rpm
5、使用rpm –i software.rpm(安装);
rpm -e software.rpm(卸载);
rpm –U software.rpm(升级形式安装);
rrpm –ivh(支持通过http\ftp协议形式安装)
-v 显示详细信息;-h显示进度条
查询功能:rpm –qa 列出全部已经安装的.rpm软件 rpm –qa |grep ***
三:YUM
1、rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,但是yum能解决这些问题。Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点:
1)自动解决依赖关系;2)可以对rpm进行分组,基于组进行安装操作;3)引入仓库概念,支持多个仓库;4)配置简单。
2、yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需贺基拍要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。
3、仓库的配置文件/禅羡etc/yum.repos.d目录下
4、使用:1)yum install 安装;
)yum remove卸载;
)yum update 升级制定软件
5、安装的时候,会下载软件包.Rpm在安装,所以用国内仓库。改变镜像源1)访问地址 2)点centos使用帮助;3)按步骤来
6、查询软件:可以使用yumsearch *
linux解压gz文件命令的步骤如下所示:
工具:灵越14Pro、Windows10、命令窗口。
1、打开系统进入桌面。
2、在linux系统下闹罩用ctrl+alt+t打开命令窗口。
3、输入gzip-dFileName.gz命令,即可解压李弯和gz。
linux命令操作格式
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
我们要了解的是基于Linux操作系统哪盯的基本控制台命令。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。
linux gzip 源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux gzip 源代码,深入探究Linux源代码压缩神器gzip的原理,Linux命令gzip -d怎么解压到指定路径,Linux中压缩与解压缩:,linux解压gz文件的命令的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
网站名称:深入探究Linux源代码压缩神器gzip的原理(linuxgzip源代码)
本文路径:http://www.csdahua.cn/qtweb/news32/283282.html
成都网站优化推广公司_创新互联,为您提供网站策划、虚拟主机、网站维护、网站制作、企业网站制作、品牌网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网