云服务器免费试用

gzip压缩文件(gzip压缩文件到指定文件)

服务器知识 0 856

本文目录:

  • 1、文件压缩
  • 2、gzip怎么压缩目录
  • 3、gzip压缩实践
  • 4、vue项目打包gzip压缩
  • 5、压缩和解压---17
  • 6、服务器开启Gzip压缩功能

文件压缩

将多个文件或目录合并成为一个特殊的文件

减小文件的体积

加快资源的传输

节省网络的带宽

windows: rar zip 其实支持很多类型的压缩

linux: zip tar.gz ....

windows与linux互通 建议使用: zip

格式 压缩工具

.zip zip压缩工具

.gz gzip压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)

.bz2 bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)

.tar.gz 先使用tar命令归档打包,然后使用gzip压缩

.tar.bz2 先使用tar命令归档打包,然后使用bzip压缩

Linux gzip工具使用

1.gzip打包与压缩 ,仅对文件有效.

gzip filename 打包

gzip -d filename.gz 解包

zcat filename.gz 查看包内文件的内容

linux本身没有gzip命令,需yum install gzip -y进行安装

gzip file  #对文件进行压缩

zcat file.gz #查看gz压缩后的文件

gzip -d file.gz #解压gzip的压缩包

gzip CentOS-Vault.repo -- CentOS-Vault.repo.gz

zcat CentOS-Vault.repo.gz -- 查看不想解压的压缩包

默认情况下没有zip和unzip工具,需要进行安装 yum install zip unzip -y

1.压缩文件为zip包

zip filename.zip filename

unzip -l filename.zip #查看压缩包内容

2.压缩目录为zip包

zip -r dir.zip dir/

3.查看zip压缩包文件是否完整

zip -T filename.zip

test of filename.zip OK

4.不解压压缩查看压缩包中的内容

unzip -l filename.zip

unzip -t filename.zip #检测文件是 否都ok

5.解压zip文件包, 默认解压至当前目录

unzip filename.zip

6.解压zip内容至/opt目录

unzip filename.zip -d /opt/

tar是linux下最常用的压缩与解压缩, 支持文件和目录的压缩归档

c #创建新的归档文件

x #对归档文件解包

t #列出归档文件里的文件列表

f #指定包文件名,多参数f写最后

z #使用gzip压缩归档后的文件(.tar.gz)

j #使用bzip2压缩归档后的文件(.tar.bz2)

J #使用xz压缩归档后的文件(tar.xz)

C #指定解压目录位置

X #排除多个文件(写入需要排除的文件名称)

h #打包软链接

--exclude #在打包的时候写入需要排除文件或目录

cjf #打包tar.bz格式 *

cJf #打包tar.xz格式 使用田少,不考虑

zxf #解压tar.gz格式 *

jxf #解压tar.bz格式 *

常用

czf #打包tar.gz格式 ( )

tf #查看压缩包内容

xf #自动选择解压模式 ( )

将文件或目录进行打包压缩

tar czf test.tar.gz test/ test2/ #以gzip方式压缩

tar cjf test.tar.bz2 dir.txt dir/ #以bz2方式压缩

tar tf test.tar.gz

tar tf test.tar.bz2

tar tf test.tar.xz

tar xf test.tar.gz

tar xf test.tar.bz2

tar xf test.tar.xz

tar xf root.tar.gz -C /tmp/ #解压至指定目录

find tmp/ -type f | xargs tar czf tmp.tar.gz

tar czf tmp.tar.gz $(find /tmp/ -type f)

tar czf etc.tar.gz /etc/ --exclude=etc/services

tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

cat pc.txt

etc/gshadow

etc/gshadow-

etc/passwd

etc/passwd

etc/shadow

etc/shadow

etc/security/opasswd

etc/pam.d/passwd

tar czXf pc.txt etc.tar.gz /etc/

yum install mariadb-server

systemctl start mariadb

mkdir /backup

tar cJf /backup/mysql.tar.xz /var/lib/mysql

tar xf /backup/mysql.tar.xz -C /

cd /var/lib/mysql

tar cJf /backup/mysql.tar.xz *

tar tf /backup/mysql.tar.xz

tar xf /backup/mysql.tar.xz C /var/lib/mysql

gzip怎么压缩目录

在linux下,使用gzip命令可以对目录压缩生成gz文件,具体步骤如下:

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、其次,在linux命令行中输入:gzip test.txt。

3、最后,按下回车键执行gzip指令,之后会看到test.txt文件被成功压缩成test.txt.gz文件了。

gzip压缩实践

为提高网页加载速度,启用 gzip 缩减资源的大小是非常常见的手段。现代浏览器均支持 gzip 压缩,并会为HTTP请求自动协商此类压缩。

本文将对 gzip 的实践和原理做一个简单的总结。

web服务器在接收到浏览器的请求之后,会检查浏览器可以接受哪些压缩方法,详情可见下图。

浏览器在请求头中会带上 Accept-Encoding 这个参数来说明自己支持哪些内容编码方式。

而服务端返回的 Response Headers 中则存在一个 Content-Encoding ,用来说明数据的压缩方法。

几乎所有的浏览器都已经支持了 gzip ,并且有请求头的验证,所以基本不需要担心兼容相关的问题。

压缩前后的体积前后差异,可以在控制台中看到。可以说,对于js、css文件的压缩率还是比较可观的。

经过这种方式的配置,在服务端响应请求的时候会对文件进行压缩,之后返回压缩过后的内容。不过压缩这一过程多多少少会占用一些服务端的性能,具体压缩的程度,也就是 gzip_comp_level 设置的值也会影响到占用性能的多少,接下来我们来看一些网上搜集到的数据,了解不同值的设置对文件大小和CPU占用的影响。

可以看到,压缩级别从0到1时,文件大小明显减小,CPU消耗略微上涨。而在之后文件减小的速率明显放缓,在达到了5之后继续增加压缩级别,文件的体积也几乎没有缩小,但CPU消耗却有较为明显的上涨。

根据结论可以看出,如果是在服务端使用 gzip 压缩的话,考虑到性能和压缩率的取舍,将压缩级别设置为一个较低的值,比如2之类的,是比较合理的。

我们也可以选择在打包构建项目的时候就对文件进行gzip压缩

这边以打包一个 webpack 的前端项目为例

运行构建命令后可以看到,在生成 .js 和 .css 的同时还生成了对应的 .gz 文件。

在这种方式的压缩中,我们完全可以把压缩等级设置为一个比较高的值(默认),毕竟只是略微影响打包的时间,却能获取一个更小的体积的包,还是比较值得的。

以 nginx 为例,静态压缩需要使用 http_gzip_static_module 这个模块,这个模块不是默认的,应使用 --with-http_gzip_static_module 的配置参数启用它

之后再配置中添加

这样便可开启静态压缩。

需要注意以下几点:

vue项目打包gzip压缩

gzip是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会快得多,需要nginx也启用gzip

安装低版本才不会报错

配置位置

config\index.js

安装低版本

对vue.config.js进行配置

// 打包 使用gzip压缩

const CompressionWebpackPlugin = require('compression-webpack-plugin');

// 定义压缩文件类型

运行npm run build后出现gz结尾的文件就成功了

压缩和解压---17

\相当于脱去马甲。 只作用于特殊的符号

\加特殊字符:表示脱掉特殊字符原有的属性,让你回归到普通的字符样式

\( \):表示去除了括号的特殊性质,变回最普通的括号模式。

例子:

cat 1.txt

1 ' 1.txt 过滤的是 ‘1

[root@db01-172 ~]# grep '1$' 1.txt 过滤的是以1结尾的行

11111111

22222221

———————————————————————————————

1.什么是文件压缩

将多个文件和目录组织成一个特殊的文件(特殊的文件==》压缩文件)

2.为什么要对文件压缩

不压缩:就相当于一个大汉去搬家,每一次只拿一个东西。就算自己能一次拿完,也没办法。他不是搬家累死,而是被走死的。

压缩之后:大汉直接一次就拿走了。

对于文件也是,压缩前后大小不同。并且传输的速度也是不同的。

3.Windows和Linux压缩包如何互通?

.zip

.tar.gz

4.linux下常见的压缩包类型

格式 压缩工具

.zip zip压缩工具

.gz gzip压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)

.bz2 bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)

.tar.gz 先使用tar命令归档打包,然后使用gzip压缩

.tar.bz2 先使用tar命令归档打包,然后使用bzip压缩

5.gzip (只能压缩一个文件,所以特定用在想让某个文件不生效的场景下)

使用gzip方式进行压缩文件 ( 只能压缩文件,并且文件被压缩后,源文件会丢失,解压之后,压缩文件会丢失

[root@xuliangwei ~]# yum install gzip -y (先安装)

[root@xuliangwei ~]# gzip file #对文件进行压缩

[root@xuliangwei ~]# zcat file.gz #查看gz压缩后的文件

[root@xuliangwei ~]# gzip -d file.gz #解压gzip的压缩包

不生效的意思:就是我先把它打包隐藏起来,系统读不到,命令也无法读取不到。。但文件并没丢失,只是藏起来了,如果想使用了,在解压回来。想看压缩下查看压缩包的内容,用zcat

zip 压缩

unzip 解压

只压缩一个文件的,如果压缩的是目录,请加-r

zip file.zip file.txt

命令 压缩后的名字 需要压缩的文件

买菜 买菜的篮子 需要买的东西

zip压缩之后,源文件不会丢失,压缩的文件也存在。

zip /opt/file123.zip file.txt

命令 跟路径(表压缩到哪) 需要压缩到文件

默认是家目录

unzip -l /opt/file123.zip (查看被压缩的文件)

unzip -t /opt/file123.zip (查看压缩的完整性)

du -sh (查看压缩之后的文件大小)

压缩多个文件:(其中有目录的,要加递归压缩)

zip -r all.zip ./file.txt /opt/

命令 递归 压缩名 压缩文件1 压缩目录2

unzip all.zip 直接解压到当前目录

unzip all.zip -d /tmp/ 加-d,指定拷贝到位置。

总结:zip压缩。可以一次一次往里边添加文件和目录,相同的东西会直接覆盖。源文件不会丢失,压缩包也不会丢失。

unzip解压,可以解压很多次,除非你删除了压缩包。还可以指定解压到任何的目录下。

tar (支持目录和文档的压缩归档)

c #创建新的归档文件

x #对归档文件解包

t #列出归档文件里的文件列表

f #指定包文件名,多参数f写最后

z #使用gzip压缩归档后的文件(.tar.gz)

j #使用bzip2压缩归档后的文件(.tar.bz2)

J #使用xz压缩归档后的文件(tar.xz)

C #指定解压目录位置

X #排除多个文件(写入需要排除的文件名称)

h #打包软链接

--exclude= #在打包的时候写入需要排除文件或目录

常用的组合:

czf 压缩 tar.gz 格式

cjf 压缩 tar.bz 格式

cJf 压缩 tar.xz 格式 (使用不多)

xf 解压所有格式

tf 查看压缩包的内容

两种打包格式

tar czf oldboy.tar.gz /etc/ /opt/

命令 压缩名 两个目录,可以一起

tar cjf oldgirl.tar.bz2 /boot/ /mnt/

命令 压缩名 两个目录,可以一起

打包/tmp下所有文件

find /tmp/ -type f | xargs tar czf tmp.tar.gz

配合使用,将查找到的内容,放到右边进行压缩打包

tar czf tmp2.tar.gz $(find /tmp/ -o /opt/ -type f )

先运算括号里边的,在进行括号外的运算。

打包链接文件

ll /etc/rc.local 是一个链接文件

/etc/rc.local - rc.d/rc.local 所以需要打包到真实的路径

tar czfh local.tar.gz /etc/rc.local 需要就h

解压浏览文件

tar xf all.tar.gz

命令 解压 压缩名

tar xf all.tar.gz

命令 浏览 压缩名

排除文件,并打包压缩

(先将不需要的文件排除掉,在进行全部打包。)

@1.排除单个文件

[root@oldboy ~]#tar czf etc.tar.gz --exclude=etc/services /etc/

压缩名 (排除掉这个脚本文件) 要压缩的

--exclude=etc/services ⚠️:etc前不加/,因为会被系统排除掉。

@2.排除几个文件 (将文件依次排放)

[root@oldboy ~] tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.local /etc/

将排除掉的两个一一写出就好

@3.排除多个文件 (需要将排除的写到一个文件里,写到时候前面不能加/,因为系统会默认删除)

[root@oldboy ~] vim paichu.list

[root@oldboy ~] cat paichu.list

etc/services

etc/rc.local

etc/rc.d/rc.local

[root@oldboy ~] tar czfX etc.tar.gz paichu.list /etc/

(加包加X) (需过滤的内容) 需打包的内容

指定解压的位置,需要加-C

[root@oldboy ~] tar xf /etc/local.tar.gz -C /tmp

压缩包的位置 指定 解压到的位置

在打包时,如果不想被提示,就进去到根下边去,系统觉得没有危险了,就不会提示你了。

服务器开启Gzip压缩功能

在负载均衡中有一个必须要做的事情就是给服务器开启Gzip压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用。

Gzip是若干文件压缩程序的简称,通常指GNU计划的实现,此处的Gzip代表的就是GUN ZIP,这也是HTTP1.1协议定义的两种压缩方法中最常用的一种压缩方法,客户端浏览器大都支持这种压缩格式。

接下来,将介绍Apache、Nginx 如何开启Gzip压缩。

Apache开启Gzip要看查看是否已经开启mod_deflate模块,如果没有则需要先加载,在配置文件httpd.conf中将

前面的#号去掉。另外,如果对Apache的配置文件不太懂的客户在修改配置文件之前对配置文件进行备份。

开启模块后,在httpd.conf配置文件的最下面空白处添加一下内容:

其中DeflateCompressionLevel 的意思是压缩等级,共分为1-9,9级为最高,不建议使用太高的压缩比,这样会对CPU产生太大的负担。

打开配置文件 nginx.conf找到Gzip on 把前面的注释符号#去掉即可开启GZIP服务。然后配置GZIP即可。

下面是一个相对优化不错的配置。

【gzip压缩文件】的内容来源于互联网,如引用不当,请联系我们修改。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: gzip压缩文件(gzip压缩文件到指定文件)
本文地址: https://solustack.com/12989.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。