gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:gzip [选项] 压缩(解压缩)的文件名
各选项的含义:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
假设一个目录/home下有文件mm.txt、sort.txt、xx.com。
例1:把/home目录下的每个文件压缩成.gz文件。
$ cd /home
$ gzip *
$ ls
m.txt.gz sort.txt.gz xx.com.gz
例2:把例1中每个压缩的文件解压,并列出详细的信息。
$ gzip -dv *
mm.txt.gz 43.1%-----replaced with mm.txt
sort.txt.gz 43.1%-----replaced with sort.txt
xx.com.gz 43.1%-----replaced with xx.com
$ ls
mm.txt sort.txt xx.com
例3:详细显示例1中每个压缩的文件的信息,并不解压。
$ gzip -l *
compressed uncompr. ratio uncompressed_name
277 445 43.1% mm.txt
278 445 43.1% sort.txt
277 445 43.1% xx.com
$ ls
mm.txt.gz sort.txt.gz xx.com.gz
例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz
$ gzip usr.tar
$ ls
usr.tar.gz
unzip命令
用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
语法:unzip [选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
例1:将压缩文件text.zip在当前目录下解压缩。
$ unzip text.zip
例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看压缩文件目录,但不解压。
$ unzip -v text.zip
zgrep命令
这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mopege/archive/2004/07/21/47536.aspx
wordpress提速
看来大家都这么关心wordpress的速度,我就我知道的一些来做一个系统的介绍,如果你想你的blog(Wordpress based)很有很好的访问速度,你得注意一下几点:
- 别装太多花哨的插件,插件带来的速度不仅仅是php服务器端的,如add_filter函数,另外有的插件也会随之带来冗余的JS和Css,极大的影响页面的加载。哪些是无用的插件呢,譬如页面统计,google的统计就已经够了,为什么一定要精确到哪篇文章呢,你认为很有必要么?还有一些所谓好玩的js代码,大可不必,毕竟你是在blog,不是在体验web的新特性;
- 优化你的css和js文件,因为这些文件都在heade加载,在它们载入完毕之前,你看到的将是一片空白,这个影响速度很明显的;
- 首页别用太多的图片,特别是摘要之前的图片最好用缩略图,这样才不会很慢;
下面是提速的解决方案:
压缩css代码
- 首先压缩模板下面的style.css,为了模板显示正常,复制一份style.css,重新命名为 styles2.css;
- 清空style.css注释后面的东西;
- 参考这篇文章,在模板文件下建立style.css.php文件,copy这篇文章介绍的代码,然后把style.css.php中的“require_once(’style.css’);”改成 require_once(’style2.css’);
- 打开你模板下面的header.php,在
<link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_directory’); ?>/gzip-css.php” type=”text/css” media=”screen” />下添加
<link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_directory’); ?>/style.css.php” type=”text/css” media=”screen” /> - 继续压缩,其他插件对应的css;
- 打开所有插件的目录,寻找css文件;然后在修改模板下的style2.php,将这些css文件中的代码复制到style2.css中,然后清空原来的css;
- 在当前的插件目下,打开php文件,删除有类似<link rel=”stylesheet”的代码(当然不会做这一布也没有多大的关系)
- 至此css代码的压缩已经完成。
压缩JS代码:
同css一样的步骤,只是压缩的代码要做修改如下:
最后一个方法就是使用cos-html-cache静态化你的wordpress,将所有的post变成真正的html文件,如果使用,请用左边的站内搜索关键字”cos-html-cache”,或者访问这里http://www.storyday.com/html/y2007/958_cos-html-cache-10.html
前几天写了一篇合并css和js文件,加快浏览速度的文章,感觉上速度确实有点提高,而最后把速度仍然比较慢归因于国外服务器数据传输的速度慢 !后来在Storyday那里看到一篇wordpress提速的文章,压缩css文件和js来提速。其实很早看关于wp优化的文章的时候就看到过对css和js进行压缩来提速,但是一直都不以为然。因为我想css和js文件经过合并,然后使用CSS Tweak和Shrinksafe分别压缩css和js文件,就可以把两者的总大小缩减至16K+3K,再使用Gzip压缩意义不大。现在发现我彻底错了!
我合并了css和js文件,只是减少了HTTP Requests。因为每个HTTP Requests都有一定的延时,所以较少HTTP Requests数量自然可以缩短一定的访问时间。但是需要下载的首页代码的大小也是一个重要的因素。使用Web Page Analyzer查看了下本站首页,其实html代码仅仅9K,而css和js一起却将近20K,也就是说其实大部分的时间都在下载css和js文件,而且它们是在head里载入的,下载完成之前,只能看到空白页,这样影响的访问速度非常明显!所以对css和js文件进行压缩是非常有必要的!
尝试使用wordpress提速这篇文章里提供的Gzip压缩css和js文件的代码,但是发现这样会导致整个style.css不起作用!也不知道为什么?以前在我的blog里使用Storyday的cos-html-cache插件里读取cookies代码也会出现一些问题!难道是RPWM?
现在使用阅微堂提供的Gzip压缩代码如下:
- <?php
- $file="all.js";
- header("Expires:".gmdate("D, d M Y H:i:s", time()+15360000)."GMT");
- header("Cache-Control: max-age=315360000");
- $mtime = filemtime($file);
- $gmt_mtime = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
- header("Last-Modified:" . $gmt_mtime);
- $ext = array_pop(explode('.', $file));
- switch ($ext){
- case 'css':
- header("Content-type: text/css");
- break;
- case 'js' :
- header("Content-type: text/javascript");
- break;
- case 'gif':
- header("Content-type: image/gif");
- break;
- case 'jpg':
- header("Content-type: image/jpeg");
- break;
- case 'png':
- header("Content-type: image/png");
- break;
- default:
- header("Content-type: text/plain");
- }
- if(extension_loaded('zlib')){ob_start('ob_gzhandler');}
- echo implode('', file($file));
- if(extension_loaded('zlib')){
- ob_end_flush();
- }
- ?>
上面代码的将本站20K左右的css和js代码压缩到了6k以下,而且它不仅压缩代码,还要求浏览器端Cache这个文件,这样不用每次浏览都下载这些文件。如果你没有进行css和js合并(强烈建议合并)的话,那么在echo处添加多个css或者js文件即可。
现在的访问速度真正有了一个质的飞跃,首页的访问时间至少提高了4s。
|
|
-
< ?php
-
ob_start("ob_gzhandler");
-
ob_start("compress");
-
header("Content-type: text/javascript; charset: UTF-8");
-
header("Cache-Control: must-revalidate");
-
$off = 0; //浏览器端的缓存时间,调试好了之后可以修改成一个比较大的数字,如3600表示1小时
-
$exp = "Expires: " . gmdate("D, d M Y H:i:s", time() + $off) . " GMT";
-
header($exp);
-
require_once('js.js');
-
?>