grep 命令语法

Linux命令:grep

功能说明:查找文件里符合条件的字符串。

语  法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] [-d<进行动作>][-e<范本样式>][-f<范本文件>][–help][范本样式][文件或目录…]
补充说明:
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。

参  数:
-a或–text 不要忽略二进制的数据。
-A<显示列数>或–after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之後的内容。
-b或–byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
-B<显示列数>或–before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。
-c或–count 计算符合范本样式的列数。
-C<显示列数>或–context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前後的内容。
-d<进行动作>或–directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或–regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
-E或–extended-regexp 将范本样式为延伸的普通表示法来使用。
-f<范本文件>或–file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
-F或–fixed-regexp 将范本样式视为固定字符串的列表。
-G或–basic-regexp 将范本样式视为普通的表示法来使用。
-h或–no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H或–with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i或–ignore-case 忽略字符大小写的差别。
-l或–file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-L或–files-without-match 列出文件内容不符合指定的范本样式的文件名称。
-n或–line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
-q或–quiet或–silent 不显示任何信息。
-r或–recursive 此参数的效果和指定“-d recurse”参数相同。
-s或–no-messages 不显示错误信息。
-v或–revert-match 反转查找。
-V或–version 显示版本信息。
-w或–word-regexp 只显示全字符合的列。
-x或–line-regexp 只显示全列符合的列。
-y 此参数的效果和指定“-i”参数相同。
–help 在线帮助。

1. grep简介

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包 括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能 更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

2. grep正则表达式元字符集(基本集)

^            锚定行的开始 如:’^grep’匹配所有以grep开头的行。  
$           锚定行的结束 如:’grep$’匹配所有以grep结尾的行。  
.            匹配一个非换行符的字符 如:’gr.p’匹配gr后接一个任意字符,然后是p。  
*           匹配零个或多个先前字符 如:’*grep’匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。  
[]           匹配一个指定范围内的字符,如'[Gg]rep’匹配Grep和grep。  
[^]         匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep’匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。  
\(..\)      标记匹配字符,如’\(love\)’,love被标记为1。  
\<         锚定单词的开始,如:’\<grep’匹配包含以grep开头的单词的行。  
\>         锚定单词的结束,如’grep\>’匹配包含以grep结尾的单词的行。  
x\{m\}            重复字符x,m次,如:’0\{5\}’匹配包含5个o的行。  
x\{m,\}            重复字符x,至少m次,如:’o\{5,\}’匹配至少有5个o的行。  
x\{m,n\}            重复字符x,至少m次,不多于n次,如:’o\{5,10\}’匹配5–10个o的行。  
\w       匹配文字和数字字符,也就是[A-Za-z0-9],如:’G\w*p’匹配以G后跟零个或多个文字或数字字符,然后是p。  
\W       w的反置形式,匹配一个或多个非单词字符,如点号句号等。  
\b        单词锁定符,如: ‘\bgrep\b’只匹配grep。  

3. 用于egrep和 grep -E的元字符扩展集

+            匹配一个或多个先前的字符。如:'[a-z]+able’,匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。  
?            匹配零个或多个先前的字符。如:’gr?p’匹配gr后跟一个或没有字符,然后是p的行。  
a|b|c            匹配a或b或c。如:grep|sed匹配grep或sed  
()            分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。  
x{m},x{m,},x{m,n}            作用同x\{m\},x\{m,\},x\{m,n\}  

4. POSIX字符类

为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是A-Za-z0-9的另一个写法。要把它们放到[]号内才能成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都支持POSIX的字符类。

[:alnum:            文字数字字符  
[:alpha:]            文字字符  
[:digit:]            数字字符  
[:graph:]            非空字符(非空格、控制字符)  
[:lower:]            小写字符  
[:cntrl:]            控制字符  
[:print:]            非空字符(包括空格)  
[:punct:]            标点符号  
[:space:]            所有空白字符(新行,空格,制表符)  
[:upper:]            大写字符  
[:xdigit:]            十六进制数字(0-9,a-f,A-F)  

5. Grep命令选项

-?            同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。  
-b,–byte-offset            打印匹配行前面打印该行所在的块号码。  
-c,–count            只打印匹配的行数,不显示匹配的内容。  
-f File,–file=File            从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。  
-h,–no-filename            当搜索多个文件时,不显示匹配文件名前缀。  
-i,–ignore-case            忽略大小写差别。  
-q,–quiet            取消显示,只返回退出状态。0则表示找到了匹配的行。  
-l,–files-with-matches            打印匹配模板的文件清单。  
-L,–files-without-match            打印不匹配模板的文件清单。  
-n,–line-number            在匹配的行前面打印行号。  
-s,–silent            不显示关于不存在或者无法读取文件的错误信息。  
-v,–revert-match            反检索,只显示不匹配的行。  
-w,–word-regexp            如果被\<和\>引用,就把表达式做为一个单词搜索。  
-V,–version            显示软件版本信息。  

6. Grep命令选项

       -P, –perl-regexp
              Interpret PATTERN as a Perl regular expression.
       有时候正则匹配总失败,不妨试试这个;
    例:
[root@phpor]# echo UIDS=[1234,23] | grep -P ‘UIDS=\[[^\]]+\]’
UIDS=[1234,23]
[root@phpor]# echo UIDS=[1234,23] | grep  ‘UIDS=\[[^\]]+\]’ 
[root@phpor]#

有些事一转身就是一辈子

有些人一直没机会见,等有机会见了,却又犹豫了,相见不如不见。
有些事一直没机会做,等有机会了,却不想再做了。
有些事。错过了。就是没缘分。抓住了。就是幸福
有些话埋藏在心中好久,没机会说,等有机会说的时候,却说不出口了。
有些爱一直没机会爱,等有机会了,已经不爱了。
有些人很多机会相见的,却总找借口推脱,想见的时候已经没机会了。
有些话有很多机会说的,却想着以后再说,要说的时候,已经没机会了。
有些事有很多机会做的,却一天一天推迟,想做的时候却发现没机会了。
有些爱给了你很多机会,却不在意没在乎,想重视的时候已经没机会爱了。

人生有时候,总是很讽刺。
一转身可能就是一世。
说好永远的,不知怎么就散了。最后自己想来想去竟然也搞不清当初是什么原因分开彼
此的。然后,你忽然醒悟,感情原来是这么脆弱的。经得起风雨,却经不起平凡;风雨
同船,天晴便各自散了。也许只是赌气,也许只是因为小小的事。幻想着和好的甜蜜,
或重逢时的拥抱,那个时候会是边流泪边捶打对方,还傻笑着。该是多美的画面。

没想到的是,一别竟是一辈子了。
于是,各有各的生活,各自爱着别的人。曾经相爱,现在已互不相干。
即使在同一个小小的城市,也不曾再相逢。某一天某一刻,走在同一条街,也看不见对
方。先是感叹,后来是无奈。

也许你很幸福,因为找到另一个适合自己的人。
也许你不幸福,因为可能你这一生就只有那个人真正用心在你身上。
很久很久,没有对方的消息,也不再想起这个人,也不想再想起这些事.
有些事一转身就一辈子了

摘自: http://user.qzone.qq.com/874237611?ptlang=2052

关于Firefox的一些知识(缓存 和 历史记录)

1. 关于缓存
Firefox 有三种类型的缓存: memory cache 、disk cache 、 offline cache
可以通过about:cache 来查看三种类型cache的状态以及后两种cache的目录
Firefox的磁盘cache可以通过cache-control:no-store来控制的,单单通过no-cache是不够的,另外可以通过在about:config中设置disk-cache-ssl的值来设置是否在磁盘上缓存https的请求
Firefox的memory cache是禁止不了的,因为“文件->另存为"和"查看源代码"是要使用该memory cache的;所以对于ssl的请求也是要在内存中缓存的
Firefox的memory cache不做避免重复请求的缓存使用,如果某url只在memory cache中存在,在磁盘cache中不存在的话,再次访问也是重新请求的

2. 历史记录里是会记录url地址栏中输入过的https的请求的; 但是通过script标签或iframe的方式访问的请求是不会记录在历史记录里面的(已测试的);

相关参考:

http://hi.baidu.com/coollzh/blog/item/1df3cb3177454ba05fdf0e60.html

http://blog.httpwatch.com/2009/02/20/how-secure-are-query-strings-over-https/

【转】影响浏览器本地缓存的因素及解决方案

浏览器缓存是很重要的,一次交互,有95%以上的时间是在处理前端的,如果能提高前端的性能,对提高整个系统的性能是很有帮助的。本专题主要讲的是如何更好地使用浏览器缓存,同时包括了一些今后浏览器缓存的发展趋势,如:globalStorage等。

影响浏览器本地缓存的因素及解决方案
因素:子域名
具体描述:berg.sharej.com/img/123.gif 这个图片,如果按照 sharej.com/berg/img/123.gif这样的方式访问,需要重新加载一次。类似的,大小写不同也会造成重复下载
解决办法:统一使用一个地址可避免重复下载。

因素:Meta头
具体描述:<META HTTP-EQUIV="Pragma" CONTENT="no-cache">或者使用脚本输出了要求浏览器不缓存网页的header
解决方案:合理的按照需求使用。

因素:Firefox的cache机制
具体描述:即使是应用了no-cache 头,firefox还是要先cache ,再根据过期设定决定是否使用。via
解决方案:一般无需解决。因为firefox缓存这些文件只是用作前进/后退。

因素:随机文件名
具体描述:可使用abc.js? 2007120来使浏览器重新加载js文件。一种更安全的方是abc_v071201.js来使浏览器重加载(可通过地址重写实现)。
解决方案:在js、css文件升级后,必要时可进行此处理,避免用户浏览器缓存的旧的文件。

因素:innerHTML
具体描述:IE6在window.onload中用innerHTML动态插入图片的时候会忽略Cache策略,一次加载多张相同图片时,会重复请求。
解决方案:避免在window.onload中使用innerHTML插入图片。

因素:IE6无法缓存背景图片的bug
具体描述:IE6的 ““temporay internet files”设置为“每次访问此页时检查”时, 背景图片将无法被缓存,在鼠标滑过链接背景图片更换时,会产生闪烁。
解 决方案:document.execCommand("BackgroundImageCache", false, true);在ie6下执行这条语句即可,Firefox执行时会报错(可用try-cache解决)。用expression也可以达到这个效果最好是 用CSS Sprites解决问题。

在浏览器端预先缓存图片的实现
使用Image()对象缓存
使用JavaScript新建一个新的Image()对象,然后将希望预装载的图片URL传递给此对象。通过onLoad()事件句柄同步装载到页面上。demo

通过数组(arrays)缓存多个图片
定义了变量i以及名为imageObj的Image()对象。然后定义了新数组images[],每一个数组元素将存储需要预装载图片的地址来源。最后,使用一个for()循环来遍历整个数组,并对每个元素指定Image()对象,以此将图片都预装载到缓存中。
demo

上面这两种方法都需要浏览器支持javascript才能正常缓存。

使用CSS隐藏需要缓存的图片
采用css的display:none;属性来隐藏图片。
demo

使用css中的背景图片
可以为一个元素定义背景样式,然后将背景图片移到不可见的位置。IE6在““temporay internet files”设置为“每次访问此页时检查”时无效。
demo
上面这两种方法都需要浏览器正常解释css才能正常使用

相册中图片的预加载
上面提到了四种预先缓存图片的方法,个人感觉第二种方法最好。因为使用第二种方法可以方便的控制加载的时间,不会影响之前页面的打开速度,而且只要支持js的浏览器都能正常使用。
demo
这个例子比较简单,但是已经能实现预加载了,在打开缩略图页面时,只要开启了缓存的浏览器,大图就会在页面结束后逐一被载入。但是一些具体的加载策略还没有做考虑。

鼠标滑过背景图的切换
如前所述,IE6的 “temporay internet files”设置为“每次访问此页时检查”时, 背景图片将无法被缓存,在鼠标滑过链接时(不管是否有背景图切换),会产生闪烁。其他浏览器都能很好的通过超链接的hover来设置背景图片实现鼠标滑 过,背景图切换。

IE6闪烁的原因
首先总结ie6中发生闪烁的原因,最后给出一个解决方案。

定义一个这样的样式:

.Example a{
background-image:url(some image);
}
下面是所有会引发闪烁的原因:

Background
当此元素background被设置成以下的值时,会发生闪烁:
background-color: transparent
background-repeat: repeat
background-position: 只要设置了都会闪烁

元素的面积
需要这个元素不闪烁,这个元素的面积必须要大于2500px^2。 =。=

.example a {
width: 50px;
height: 50px;
background-image:url(some image);
}
.example a {
width: 50px;
height: 40px;
background-image:url(some image);
}
上面一个样式不会闪烁而下面一个样式会闪烁……

图片是否透明gif
当背景图片是一个带透明效果gif时,会闪烁。

跨浏览器的解决办法
<script>
try {
document.execCommand(‘BackgroundImageCache’, false, true);
} catch(e) {}
</script>
<style>
a{ background:transparent url(logo.gif) no-repeat scroll left bottom;line-height:300px;padding:30px;}
a:hover{ background-position:-2000px 100%;}
</style>
<a href="/">&nbsp;</a>
其中logo为一个包含原图和翻转图片的大图片。在IE6,IE7,firefox2.0,opear9下测试通过

IE中的userdata的使用
Cookies也能达到在客户端缓存数据的作用,但是cookies的大小限制很严格(4K),所以不能用来缓存过多的用户数据, userdata的出现解决了这个问题。每个网页的UserData存储区数据大小可以达到64 Kb,每个域名可以达到640 Kb。
IE 5以上的IE浏览器才支持userdata这个行为。在用户机器上,userdata默认是存储在这个位置:C:Documents and Settingsyour login nameApplication DataMicrosoftInternet ExplorerUserData
userData行为通过sessions为每个对象分配UserData存储区。使用save和load方法 将UserData存储区数据保存在缓存 (cache)中。一旦UserData存储区保存以后,即使IE浏览器关闭或者刷新了,下一次进入该页面,数据也能够重新载入而不会丢失。
在HTML、HEAD、TITLE和STYLE标记上应用了userData行为后使用save和load方法将会出错。

使用前,必须先声明样式:

或者使用脚本绑定:
object.style.behavior = "url(‘#default#userData’)"
object.addBehavior ("#default#userData")

csdn中列有userdata成员和方法表。

demo

Userdata 的作用域问题
当我在/forum/a这个页面中执行一次u.Save("sss", "just a forum", 365, "forum");后,userdata的目录下出现了一个sss[1].xml文件,内容是:

同时,在/forum/b这个页面中执行alert(u.Load("sss", "forum"));时,能够取到userdata中的内容。 而在“/”这个页面中是取不到刚才存放进去的内容的,同样的,在“/topic/1234”也是取不到内容的。
类似的,执行u.Save("forum", "just a forum", 365, "value");后再alert的结果和上面的结果相同。
个人觉得userdata和cookies一样,是和path相关的。同一目录下的所有页面能共享同一个文件中的同一属性(Attribute)。因此在使用的时候要注意目录结构的问题。

Userdata的超时设置
Expires这个属性是用来设置userdata的超时时间的。Userdata的超时设置是针对一个文件的,一旦过期,整个文件都过期了,不能单独设置每个属性的过期时间。

其他问题
如果 userdata被人为删除,此时执行o.getAttribute()、o. setAttribute()会报错:“Error:数据无效。”在使用这两个方法之前, try-catch o.load()可以屏蔽这个错误,但是userdata就无法正常使用了,除非修改存储的文件名。

删除userdata的时候不能像删除cookie一样,用new Date(0)来制造过期时间。315532799000 是格林威治时间1979年12月31日23时59分59秒。这是删除UserData的最靠前的一个有效expires时间了。

如果在一个浏览器进程中重复删除、写入userdata数据,userdata空间将很快被撑满,因为每次删除都是逻辑删除,等到浏览器进程结束后才会真正执行删除操作。

非IE浏览器“userdata”的解决方案
sessionStorage
从firefox 2.0开始,开始支持HTML5,同时也就支持了sessionStorage,这是一个只能在session生命周期内使用的对象,最大的用途在于用于 保存一些临时的数据防止用户意外刷新页面,同时,在浏览器意外关闭并恢复页面时,sessionStrorage中存储的信息也会被同时恢复。 Firefox默认允许一个域名存储5120KB的数据。
demo(必须要上传到服务器上才能正常运行)

下面是HTML5定义的接口:
interface Storage {
readonly attribute unsigned long length;
DOMString key(in unsigned long index);
DOMString getItem(in DOMString key);
void setItem(in DOMString key, in DOMString data);
void removeItem(in DOMString key);
};

作用域问题
Firefox中的sessionStorage在域名下任意页面存储后,整个域名下都可以使用存储的项目。

其他问题
在浏览器crash后,restore页面的session也不见了,(firefox2.0) 。

globalStorage
这个也是html5中提出来,在浏览器关闭以后,使用globalStorage存储的信息仍能够保留下来,并且存储容量比IE的userdata大得多,一个域下面是5120k。和sessionStorage一样,域中任何一个页面存储的信息都能被所有的页面共享。

作用域
globalStorage[‘z.baidu.com’] 所有z.baidu.com下面的页面都可以使用这块空间
globalStorage[‘baidu.com’] 所有baidu.com下面的页面都可以使用这块空间
globalStorage[‘com’]:所有com域名都可以 共享的使用这一块空间
globalStorage[”] :所有页面都可以使用的空间

现在Firefox只支持当前域下的globalStorage存储, 如果使用公用域会导致一个这样一个类似的错误“Security error" code: "1000”。

过期时间
按照HTML5的描述,globalStorage只在安全问题或者当用户要求时才会过期,浏览器应该避免删除那些正在被脚本访问的数据,并且userdata应该是用户可写的。

因此我们的脚本要能够控制过期时间,可以在globalStorage的某个区域存储过期时间,在load的时候判断是否过期,可以在一定程度上解决过期时间的问题。

存储时,同时存储过期时间
Save = function(content, expires, attribute, fileName){
var date = new Date();
date.setSeconds(date.getSeconds() + expires);
globalStorage[domain][fileName + "__expires"] = date.getTime();
}
Load时判断是否过期,过期则删除:
Load = function(attribute, fileName){
var date = new Date();
if(parseInt(globalStorage[domain][fileName + "__expires"]) < parseInt(date.getTime()) ){
d.Remove(attribute, fileName);
d.Remove(attribute, fileName + "__expires");
}
return globalStorage[domain][fileName + attribute];
}

Firefox about url

There are a few special URLs, which begin with about:, that you can type into the Location Bar. (In Thunderbird, which has no Location Bar, or in SeaMonkey, you can also use them as "Mail Start Page".)

        

  • about: — The same page as "Help -> About".
  •     

  • about:about — Lists all these about: URLs (Mozilla Suite/SeaMonkey only).
  •     

  • about:blank — A blank page. Useful for setting as your homepage.
  •     

  • about:bloat — Displays BloatView output (disabled in release builds).    
              

    • about:bloat?new
    •         

    • about:bloat?clear
    •     

        

  •     

  • about:buildconfig — Reveals details about your Mozilla build options.
  •     

  • about:cache — Displays cache statistics and disk cache directory location.    
              

    • about:cache?device=memory — Lists memory cache entries.
    •         

    • about:cache?device=disk — Lists disk cache entries.
    •     

        

  •     

  • about:cache-entry — Shows information about a cache entry. Used in about:cache links. Requires parameters.
  •     

  • about:config — GUI for modifying user preferences.
  •     

  • about:crashes — List of Breakpad crash reports, with links and datestamps. Only in products based on Gecko 1.9 or later (Firefox 3, Thunderbird 3, SeaMonkey 2).
  •     

  • about:credits — The list of contributors to the Mozilla projects.
  •     

  • about:logo — Displays the application logo (Mozilla Suite, SeaMonkey, and Firefox 3).
  •     

  • about:kitchensink — Was never included in Mozilla for the reasons listed in Bug 122411 ("Mozilla does not have a kitchen sink"). You can install an extension that adds it though 🙂
  •     

  • about:license — shows the Mozilla Public License and the Netscape Public License for the piece of software. ( Only in products based on Gecko 1.8 or later)
  •     

  • about:mozilla — The famous Book of Mozilla.
  •     

  • about:plugins — Lists all your plugins as well as other useful information.
  •     

  • about:robots — Easter egg, see bug 417302. Beginning with March 8th, 2008 trunk builds, it’s now available on Firefox 3.0b5..

[edit]

Extensions

Certain extensions add a few additional about: URLs.

        

  • Firesomething adds two excerpts from The Book of Mozilla, Extended edition (about:firefox and about:firesomething).
  •     

  • InfoLister adds about:info, a listing of your extensions, themes, and plugins.
  •     

  • about:kitchensink extension
  •     

  • MR Tech’s About:About

[edit]

External Links

        

  • Place in Mozilla’s code where these are listed

什么是about:config¤
about: config是Firefox的设置页面,Firefox提供了不少高级设置选项在这里以便让你可以更加详细地控制Firefox的运行方式。官方不推荐 用户手工修改about:config的设置。所以,如果你对于你想修改的内容不是非常确定的话,请不要去改变它。)
打开Firefox中 about:config设置的方法是在Firefox地址栏输入about:config,然后回车。这份列表包括了尽可能多的 Mozilla 参数。虽然它并不完整,但它可以说是目前互联网上最全面的一份参数说明了。此列表适用于 Mozilla Suite, Mozilla Firebird, Mozilla Thunderbird或其派生的产品及相关扩展。如果没有找到您需要的参数,您还可以到MozillaZine站的英文版About:config entries (http://kb.mozillazine.org/About:config_Entries)中寻找。
注意:所有使用到 FOO 或者 BAR 的地方都是通配符。使用数字或文本替换它(具体用什么取决于上下文环境),Mozilla 将只列出匹配此模式的选项。
about:config 中的条目非常多,我们把它按照字母顺序分割为若干小块。比如,凡是以字母 a 开头的项均列入到A页中,以此类推。
目前,about:config 说明还不完善,期待你的翻译和改进。

¤正文介绍¤

1、accessibilityNavigation aids and useability * 浏览辅助工具

1、 accessibility.accesskeycausesactivation * 是否允许通过accesskey属性来激活相应的事件(默认值true),比如网页中一个设置了accesskey属性为“k”的按钮(button), 可以通过Alt+k来产生一个点击(click事件)。

2、accessibility.browsewithcaret * 用光标来浏览网页(可通过F7开关)

3、accessibility.disablecache * 不使用cache

4、accessibility.disableenumvariant * [有待测试]

5、accessibility.tabfocus * 设定可以通过按TAB键来依次获得哪些页面元素的焦点
1 : Text field form controls only * 仅表单中的文本输入框
2 : All form controls except text fields * 除了文本输入框外的其它表单输入控件
3 : All form controls * 表单中的所有输入控件
4 : Hyperlinks and hyperlinked images * 超级链接和超级链接图片
7 : All form controls and hyperlinks * 表单中所有的输入控件和超级链接

6、accessibility.typeaheadfind * 打开\"type-ahead find\"(现在叫\"Find as you type\")功能,
如名字所说,敲入几个字母,将快速定位到第一个包含这些字母的链接上。
或许可以翻译成\"即敲即找\"。

7、accessibility.typeaheadfind.autostart * 快速启动type-ahead find功能而无须按/键(寻找文本)或者’键(寻找链接)。

8、accessibility.typeaheadfind.enablesound * 允许在type-ahead find找不到时发出报错声(Linux/Unix下默认关闭,其他平台默认打开)

9、accessibility.typeaheadfind.enabletimeout * 从键名上来看,这段英文估计也是错误的……应该是允许超时之类

10、accessibility.typeaheadfind.linksonly * 只允许type-ahead find定位链接

11、accessibility.typeaheadfind.soundURL * 给出报错声音的文件名(.wav), * default:默认声音 * beep:系统蜂鸣声

12、 accessibility.typeaheadfind.startlinksonly * 限制type-ahead find只从链接开头搜索而不是从任何地方开始,*(比如输入kmc将定位到链接文字为\"kmc is a boy\"的链接,但是不会定位到\"All boys are not kmc!\"上面)

13、accessibility.typeaheadfind.timeout * 在type-ahead find自动失效之前的超时时间

14、accessibility.usebrailledisplay * 填入在Mozilla中用的盲文输出程序的命令行启动命令(没有时填blank)

15、accessibility.usetexttospeech * 通过键入命令行在Mozilla中启动读屏软件

16、accessibility.warn_on_browsewithcaret * 当用用光标来浏览网页是否给出提示(参见accessibility.browsewithcaret)

17、adblock.enable * 广告屏蔽开启

18、adblock.fastcollapse *

19、adblock.frameobjects *

20、adblock.hide* 广告隐藏

21、adblock.linkcheck *

22、adblock.pageblock *

23、adblock.patterns *

24、addressbook.throbber * 地址簿throbber的设置

25、addressbook.throbber.url * 点击throbber转向的链接地址

26、advanced.always_load_images * 访问页面是总是载入所有图片

27、advanced.mailftp * 对匿名ftp,发送用户的邮件地址作为密码(类似于FlashFxp里面的设置)

28、advanced.system.supportDDEExec * 支持执行DDE命令行

29、alerts.height * 字面意思应该是提示框的高度,实际修改后未见效果

30、alerts.slideIncrement * \"滑出\"提示效果(类似于气泡提示)的步进值(单位:象素)

31、alerts.slideIncrementTime * \"滑出\"动画效果的间隔时间,数字越小滑动速度越快(单位:毫秒)

32、alerts.totalOpenTime * 设定提示的持续时间(单位:毫秒)

33、alexarankstatuspref.state *

34、app.build_id

35、app.extensions.version * 安装扩展时向扩展报告的Firefox版本号

36、app.id

37、app.update.autoUpdateEnable

38、app.update.enable

39、app.update.interval

40、app.update.lastupdatedate * 记录最后一次更新的时间

41、app.update.performed

42、app.update.updatesAvailable

43、app.update.url

44、app.version

45、application.use_ns_plugin_finder* 寻找Netscape浏览器的插件

46、autoadmin.append_emailaddr * 自动添加收到的e-mail的地址到地址簿

47、autoadmin.failover_to_cached * 如果不能访问页面,自动加载缓存的页面来替代

48、autoadmin.global_config_url

49、autoadmin.offline_failover * 如果不能在线浏览,自动切换到离线浏览方式

50、autoadmin.refresh_interval * 加载autoadmin.global_config_url指定的配置文件的时间间隔,以分钟计

51、autocomplete.grab_during_popup * (仅适用于 X11)指定自动完成弹出控制是否应该获取键盘输入。* 默认值为 true。 本首选项可设置为 false,以规避一个 XKB 不能正确设置模式切换的 bug。

52、autocomplete.ungrab_during_mode_switch * (仅适用于 X11)本选项是 autocomplete.grab_during_popup 的补充。
*若两个首选项都为 true,在自动完成会话期间,模式切换键被按下/弹起时,应用程序放弃/获取键盘输入。
* 若两个首选项中任何一个为 false,则在自动完成会话期间,应用程序不会放弃已获取的键盘输入。
* 默认值为 true。

53、autoupdate.enabled * 允许自动更新

54、backups.number_of_prefs_copies * 根据配置文件生成的拷贝份数()

55、bidi.characterset * 浏览器怎样决定使用的字符集
* 1 : 文档指定的字符集
* 2 : 默认字符集

56、bidi.clipboardtextmode * 使用的剪贴板类型
* 1 : Logical
* 2 : Visual
* 3 : Source
57、bidi.controlstextmode
* 1 : Logical
* 2 : Visual
* 3 : Container
58、bidi.direction * 选择文字阅读顺序
* 1 : Left-to-right * 从左到右
* 2 : Right-to-left * 从右到左
59、bidi.numeral* 怎样显示数字
* 1 : 规则的上下文数字
* 2 : 印地语上下文数字
* 3 : 阿拉伯数字
* 4 : 印地语数字(天城体字母)
60、bidi.support* 选择双向语言支持的提供者
* 1 : Mozilla浏览器
* 2 : 操作系统
* 3 : 禁用
61、bidi.texttype * 1 : Charset * 2 : Logical * 3 : Visual

62、browser.active_color * 激活链接的颜色 * 默认的链接颜色(#RRGGBB)

63、browser.anchor_color *

64、browser.allowpopups * 允许未请求的弹出窗口

65、browser.always_reuse_window * 当 OS 请求打开一个 URL 时,总是重用已经存在的 Mozilla 窗口。

66、browser.blink_allowed * 允许使用<blink>标签

67、browser.block * 浏览器拦截功能设置

68、browser.block.target_new_window * 阻止链接打开新窗口

69、browser.bookmarks * 浏览器收藏夹

70、browser.bookmarks.added_static_root * Mozilla是否导入了系统收藏夹(对每个用户配置只询问一次)

71、browser.bookmarks.confirm_sorting * 激活对收藏夹排序时的确认询问对话框

72、browser.bookmarks.import_system_favourites * 是否导入系统收藏夹(一般是IE收藏夹)到Mozilla

73、browser.cache * 浏览器缓存

74、browser.cache.check_doc_frequency * 设定检查是否需要更新缓存文档的频率
* 0 : Once per session * 每个进程一次 每次启动Firefox时检查
* 1 : Each time * 每次访问此页时检查
* 2 : Never * 不检查
* 3 : When appropriate/automatically * 自动
75、browser.cache.disk * 浏览器磁盘缓存

76、Browser disk cache settings * 浏览器磁盘缓存设置

77、browser.cache.disk.capacity * 磁盘缓存大小(单位: KB)

78、browser.cache.disk.enable * 是否使用磁盘缓存

79、browser.cache.disk.parent_directory * 存放缓存文件的路径

80、browser.cache.disk_cache_ssl * 是否通过HTTPS/SSL(数据加密)方式来获得缓存文档

80、browser.cache.enable * 允许缓存从浏览器获取的文档()估计是pdf, doc之列

81、browser.cache.memory * 浏览器内存缓存

82、Browser memory cache settings *浏览器内存缓存设置

83、browser.cache.memory.capacity * 内存缓存大小(单位:KB)

84、browser.cache.memory.enable * 是否使用内存缓存

85、browser.chrome.favicons * 是否在地址栏显示网站的个性化图标

86、browser.chrome.site_icons * 是否在收藏夹显示网站的个性化图标

87、browser.chrome.toolbar_tips * 是否在指向浏览器工具栏图标时显示提示

88、browser.chrome.toolbar_style * 设定浏览器工具栏风格
* 0 : Pictures Only * 仅图片
* 1 : Text Only * 仅文字

关于httpwatch的使用

今天想下载几段戏曲,但是很多网页播放器能播放的东西都不是好下载的,首先找数据源就比较麻烦,下面介绍一种办法。
1. 打开httpwatch,查看可以播放戏曲的页面,等所有的东西都加在完成后,观察所有请求中的time列,如果戏曲还在加载过程中,那么肯定有一列为“*”,就是还没有加载完的意思,那么这个请求就是播放的数据源,直接复制出来下载吧。

2. 直接复制出来未必就能直接下载,这些东西一般通过几种方法来判断;

   根据referer判断,这个不用于防止下载,主要是用于防止盗链
   根据agent判断,这个应该是防止使用非浏览器的工具下载的,如:可能不能简单实用wget或curl下载,但是修改了agent就可以下载了

会员中心设计的一些分析

最近在做会员中心的改造,为了避免在改造中出现一些不必要的失误,就先了解一下其他网站会员中心的做法。

QQ校友的会员中心: http://xiaoyou.qq.com/

1. 对外显示的只有一个程序  /index.php, 所有的页面显示和表单的处理操作都通过参数控制,我曾经写的第一个网站就是这么做的,是刘明教我的
2. 修改信息没有采用无刷新的方式
3. 页面清新、简约;赏心悦目

Firefox 的表单重复提交的bug

Firefox 3.5确实有一些新功能,而且启动的速度也很快,但是偶尔遇到bug真的很郁闷,下面是我写的一个非常简单的代码高亮的工具,如果您使用的是IE或您比较幸运的话,每次点击按钮都会打开一个新的窗口;我用的是Firefox 3.5 ,有时候也可以每次点击按钮都打开一个新的窗口的,但是有时就只打开一次,在点击也没有用了。

    
     不需要 <?php  和 ?>  ,会自动添加