gzip 命令例子

来源:互联网 发布:外贸常用聊天软件 编辑:程序博客网 时间:2024/06/07 03:01

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提速

2007-06-24 21:03:06 发表于Wordpress, 网站技术 本文链接: wordpress提速

看来大家都这么关心wordpress的速度,我就我知道的一些来做一个系统的介绍,如果你想你的blog(Wordpress based)很有很好的访问速度,你得注意一下几点:

  1. 别装太多花哨的插件,插件带来的速度不仅仅是php服务器端的,如add_filter函数,另外有的插件也会随之带来冗余的JS和Css,极大的影响页面的加载。哪些是无用的插件呢,譬如页面统计,google的统计就已经够了,为什么一定要精确到哪篇文章呢,你认为很有必要么?还有一些所谓好玩的js代码,大可不必,毕竟你是在blog,不是在体验web的新特性;
  2. 优化你的css和js文件,因为这些文件都在heade加载,在它们载入完毕之前,你看到的将是一片空白,这个影响速度很明显的;
  3. 首页别用太多的图片,特别是摘要之前的图片最好用缩略图,这样才不会很慢;

下面是提速的解决方案:

压缩css代码

  1. 首先压缩模板下面的style.css,为了模板显示正常,复制一份style.css,重新命名为 styles2.css;
  2. 清空style.css注释后面的东西;
  3. 参考这篇文章,在模板文件下建立style.css.php文件,copy这篇文章介绍的代码,然后把style.css.php中的“require_once(’style.css’);”改成 require_once(’style2.css’);
  4. 打开你模板下面的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” />
  5. 继续压缩,其他插件对应的css;
  6. 打开所有插件的目录,寻找css文件;然后在修改模板下的style2.php,将这些css文件中的代码复制到style2.css中,然后清空原来的css;
  7. 在当前的插件目下,打开php文件,删除有类似<link rel=”stylesheet”的代码(当然不会做这一布也没有多大的关系)
  8. 至此css代码的压缩已经完成。

压缩JS代码:
同css一样的步骤,只是压缩的代码要做修改如下:

 

最后一个方法就是使用cos-html-cache静态化你的wordpress,将所有的post变成真正的html文件,如果使用,请用左边的站内搜索关键字”cos-html-cache”,或者访问这里http://www.storyday.com/html/y2007/958_cos-html-cache-10.html

 

 

Gzip压缩css和js文件

前几天写了一篇合并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压缩代码如下:

  1. <?php
  2.     $file="all.js";
  3.     header("Expires:".gmdate("D, d M Y H:i:s", time()+15360000)."GMT");
  4.     header("Cache-Control: max-age=315360000");
  5.     $mtime = filemtime($file);
  6.     $gmt_mtime = gmdate('D, d M Y H:i:s', $mtime) . ' GMT';
  7.     header("Last-Modified:" . $gmt_mtime);
  8.     $ext = array_pop(explode('.', $file));
  9.     switch ($ext){
  10.     case 'css':
  11.      header("Content-type: text/css");
  12.      break;
  13.     case 'js' :
  14.      header("Content-type: text/javascript");
  15.      break;
  16.     case 'gif':
  17.      header("Content-type: image/gif");
  18.      break;
  19.     case 'jpg':
  20.      header("Content-type: image/jpeg");
  21.      break;
  22.     case 'png':
  23.      header("Content-type: image/png");
  24.      break;
  25.     default:
  26.      header("Content-type: text/plain");
  27.     }
  28.     if(extension_loaded('zlib')){ob_start('ob_gzhandler');}
  29.     echo implode('', file($file));
  30.     if(extension_loaded('zlib')){
  31.     ob_end_flush();
  32.     }
  33. ?>

上面代码的将本站20K左右的css和js代码压缩到了6k以下,而且它不仅压缩代码,还要求浏览器端Cache这个文件,这样不用每次浏览都下载这些文件。如果你没有进行css和js合并(强烈建议合并)的话,那么在echo处添加多个css或者js文件即可。

现在的访问速度真正有了一个质的飞跃,首页的访问时间至少提高了4s。

(show/hide)plain text
  1. < ?php
  2. ob_start("ob_gzhandler");
  3. ob_start("compress");
  4. header("Content-type: text/javascript; charset: UTF-8");
  5. header("Cache-Control: must-revalidate");
  6. $off = 0; //浏览器端的缓存时间,调试好了之后可以修改成一个比较大的数字,如3600表示1小时
  7. $exp = "Expires: " . gmdate("D, d M Y H:i:s", time() + $off) . " GMT";
  8. header($exp);
  9. require_once('js.js');
  10. ?>