dede 关于批量替换 正则表达式 解决方案

采集时候没过滤 table ttable tr td 等表格的
想把这些删除 不影响页面效果
用正则如何替换 主表的字段是什么
希望过手解决下 网上资料很少 都无效 再次发帖求助

table ttable tr td   或者怎么替换才能有效去除它的功效呢
我记得以前有个 <table *****>改成< --!table***>什么的忘记了
类似这样的也可以 解决下啊

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

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

 

这是我在处理文章时用到一些正则表达式,里面有你要的。在Editplus中使用。
在表:dede_addonarticle中,body字段即是文章内容。
过滤Table相关的:

正则: width=\"[0-9][0-9][0-9]\"| width=[0-9][0-9][0-9]| height=\"[0-9][0-9][0-9]\"| height=[0-9][0-9][0-9],说明:过虑height、Width。

------------------------------------------------------

正则:<div style=\"[^>]*\">|<div [^>]*>|</div>|<div>,注意:匹配<div style="">或者<div id="">。

------------------------------------------------------

正则: style=\"[^"]*\"| style=[^"]*,注意:匹配Style="border:"

------------------------------------------------------

正则:<style([^>]*)>(.*)</style> ,注意:匹配<style type="text/css"></style>

------------------------------------------------------

正则:<font [^>]*>|<font>|</font>|<strong [^>]*>|<strong>|</strong> ,注意:匹配<font>和<strong>

------------------------------------------------------

正则: border="[0-9]"| border=[0-9],注意:匹配border=""

------------------------------------------------------

正则:<span [^>]*>|<span>|</span> ,注意:匹配<span>

------------------------------------------------------

正则: id=[^ ]*| id=\"[^ ]*\",注意:匹配id=“”

------------------------------------------------------

正则: title=[0-9][^ ]*| title=\"[0-9][^ ]*\"| alt=[0-9][^ ]*| alt=\"[0-9][^ ]*\"| alt=[a-z][^ ]*| alt=\"[a-z][^ ]*\",注意:匹配Title或者alt

------------------------------------------------------

正则:<!--[^>]*-->,说明:匹配HTML注释

------------------------------------------------------

正则:<script([^>]*)>(.*)</script>,说明:匹配<script></script>之间的全部内容

------------------------------------------------------

正则: class=[a-z][^ |^>]*| class=\"[a-z][^ |^>]*\",说明:清理class="",经过充分测试

------------------------------------------------------

正则:<table([^>]*)>|</table>|<td>|</td>|<tbody>|</tbody>|<tr>|</tr>

------------------------------------------------------

正则:<h2 [^>]*>|<h2>|</h2>| align=left|<em>|</em>|<center>|</center>|<a([^>]*)>|</a>

------------------------------------------------------

闲言碎语:工资多少才算够

这个标题其实不用回答,工资多少都是不会够的,因为我们的物价上涨过快与工资上涨过慢一直是一个无法调和的矛盾。之所以想聊聊这个事情,主要是发现广大设计同仁总是精神状态很饱满,物质状态很干瘪,常会在茶余饭后说到:“要是有薪水更高的地方,我马上就跑。” — 原因还是在于工资的水平无法满足自己的需求。那么,工资作为我们劳动的最直接报酬,是否是考验忠诚度或评估凝聚力的唯一尺度?一个能够给你较高工资的公司,就一定是个好公司吗?我们在职业道路中究竟该如何追求工资或“比工资更高诉求”的东西?

我不止一次听到所谓的企业咨询顾问,公司管理大师的讲座中说到:“企业挽留人才,工资不是最有效的方式,我们不建议单纯以加薪的方式来留住人才。” — 现实情况是,大多数土鳖老板都听向了反面的意思,直接就不考虑加薪了。我要说的是,加薪是留人的最直接的方式,因为劳动换取报酬是资本市场的最基础法则,而所谓“更高级”的方式,无非是砖家们告诉资本家如何画饼的权谋之策 — 单纯加薪不会一定控制住人,但不加薪,绝对控制不住人。这点上所有跳槽与被跳槽的朋友都深有体会。

现在看看设计师自己,怎么样衡量自己的薪水呢?我知道每次设计师聚会的时候,各位犹抱琵琶半遮面的一个兴趣话题就是想知道其他设计师究竟赚多少,以此来评估“设计能力” — 如果不幸,有个家伙被众人公认为水平普通,但却有更好的工资待遇的话,那他不久便会成为众矢之的。虽然是人之常情,但你也要清楚的认识到,在这个缺乏公平的社会中设计能力和吃饱饭之间的直接关系并不算大,别人有的核心竞争力也许是你无法企及的。

单从设计师如何正视自己的工资上来看,就已经和别人拉出了差距 — 我猜大家更有兴趣的是,如果现在工资不高,我怎么保持安静的心态逐步把工资变高?我可以说说这些不成熟的建议:

1. 阶梯性增值

你目前拿一月多少?3000?5000?10000?对于你的生活来说,这可能关系到你的日常起居饮食,能给宠物买的狗粮牌子,能够买给女朋友的礼物……但,这不是最重要的。工资是一个根据你的职业状态做动态调整的事情,一般来说任何公司和企业都会制定一个基本的薪资标准,比如你的职业年限,岗位重要程度,综合能力评估,KPI考核等。因为公司需要给员工一个持续的希望,这个希望确保团队的稳定和发展。你应该善于利用这一点,合理计算出一个工资的阶梯方程。

比如:你是一个中型企业设计部的人员,入职薪水4000元(税前)每月,公司内部也严格要求各位不允许透露自己的工资数额,但你还是可以计算出来的,首先,你公司的盈利状态(如果是上市公司就更容易计算点)和产品出货量,周期,生产成本告诉了你公司的现金流;其次,市场部的大小,规模,人员积极性告诉了你公司的呆坏账情况还有汇款周期;然后,每个部门的人员配置(一般来说,管理岗位设置较细的公司对于中层管理者的薪水设置是普通员工的0.7 – 1.4倍,高管在3-5倍,除开不确切的分红和股票,只有奖金是浮动比较明显的)情况告诉了你该部门的预算和公司平均预算。 最后,你可以大概估算出你在这个岗位上干2年后薪水的浮动可能是30%,如果有希望走入管理层的话,阶梯的增值又会是多少。

我发现一个奇怪的现象,很多设计师从来不去考虑,计算,衡量这些客观存在的指标,而企图希望通过自己设计能力提升,以业务水平影响到人力资源和管理层的宠幸,主动加薪。现实是,如果你自己心里没有一本账,你永远得不到你该有的工资,你常会听到的话是:1.你还没有向公司证明你的价值;2.公司目前还比较困难,但我们会考虑你的要求;3.其实你现在的工资不低,外面还有很多身价更低的人等着进来工作。我要告诉你的是,提升自己的技能和水平没有错,但同时最好清晰的了解周围的环境和人,如果你的阶梯性增值没有得到公司的重视,外面一定有其他的公司会给你买单的。

2. 预见你的未来

一个优秀的设计师是可以预见自己的未来的,确切的说是预见自己未来的职业盈利能力,是继续在技术上成为行家,还是在管理上有所作为,或者转行到更高的平台发挥智慧。抱怨、不合作、拖沓工作不会给你带来工作的成本递减,相反会让你更快的丧失斗志和竞争力,我常听很多小白说:“公司就给了这么多工资,我只干这么多工资的活。” — 没有错,但大多数小白却没有发现其中的危机,你或许占了一些便宜,或许偷懒得更舒服,带来的并不是工资的增长,这是根本的问题。

健康的做法是在已有的岗位上建立自己未来的资本,如果没有足够的积累和底气,你如何预见可知的盈利?我说的不是骑驴找马,因为很多企业连驴都算不上,你得明白每一天的工作和积累,是为自己奋斗,为自己的家庭、命运、生活努力,你如果希望更高的工资,就按照游戏规则说的那样去争取。你的工资总不涨并不是公司的错,而是你自己浪费了太多的时间、丢掉了太多的机会、忽视了太多的危机,我们可以对团队,对公司没有信心,但绝不能对自己的行业没有信心。

我最讨厌设计师说的话就是:“走一步看一步”,这种不负责任和逃避现实的态度,导致了你就是一个随波逐流的货色,既然你没有对自己的要求,你又有何资格嫉妒那些比你工资高的人?你又如何在羡慕中去达到别人的水平?赚钱的思路和设计的思路并不太一样,不是付出就一定有所回报,如果你的未来情况受限于环境不太乐观,就换一个环境,如果你的未来掌握在你的领导手里,而你的领导没有帮助你的意思,你就应该换一个领导,其实很多朋友只是少了迈出一只脚的勇气。

3. 短期的现金流

对工资的问题还必须从数目上去理解,狭义的工资是每月到你卡上的那些数字,你可以转化成使用的现金,但现金最终都是要花出去的,广义的“工资”在我看来,是你在目前的平台上工作中产生的一切价值回报。这里面包括了,你的绩效奖金,五险一金,部门经费等关于金钱的部分,还有一个高效率的平台,目标清晰的团队,可以节约你的时间,以加速你的职业道路发展,一个稳定的、愉快的工作环境,可以让你心情舒畅,减少职业病的发病率,或者在项目合作中有更多的交流机会,见识外部环境,广结人脉,为以后的职业发展存储资源。

短期的现金流是很诱人的,大多数猎头在谈判中都会明确告诉你基本工资的增幅,却会巧妙隐藏一些工作时间、加班、节假日出差等情况,关于设计师的职业成长中,我建议的价值回报优先级是:时间>成就感>周边福利>工资数额。有不少公司短期高薪挖角,一般干了半年,项目做完就解散了,如果这影响到你的生活状态,那么还是不要接受这种诱惑为佳。

有一些刚出校门的小白,愿意不要工资去一些企业实习,学习,我觉得也不好,走到了另外一个极端。劳动了就一定要给报酬,你不要现金只是表现出你的懦弱和对未来的担心,公司不可能会感受到你的忠诚,工作机会也不会可能留给你。你也许可以这么讲:“我的工资可以比别人少一些,如果我做的好,我希望奖金比别人高一些。”另外,关于社保等问题,建议每2-3个月,自己登录相关职能机构网站检查一次,现在有些公司是不太自觉的,不要只被现金流给迷惑了。

4. 敏锐的职业感觉

如果你工作了2-3年,你可能多少有一些职业感觉了,包括如何与老板相处,如何与同事相处,如何解决矛盾,如何做职业规划。我要说的是,这些技巧都会从侧面帮助你加薪,而敏锐的职业感觉是:如何判断出加薪的要点和可能,从而制造加薪的机会。不做表现是不行的,过于表现也是不行的,加薪最快的方式有三种:1.跳槽;2.突出贡献;3.升职。

第一种是大多数设计师采取的方式,一般都是因为已经和老东家谈崩了,不是不愿意加工资,就是一直在拖,所有一有机会各位就会祭出这种杀手锏。不过这个方法有两处小风险,一是如果新东家和老东家是同行业竞争关系,那么在职业操守上会有点瑕疵,自然像企鹅公司告员工这种事情是很少发生的;二是跳槽后的岗位设置是否能够和你的职业发展线路匹配,因为有很多情况,出于对工资调整的力度的屈服,一部分人选择了并不合适的新平台。

第二种在设计部门稍显困难,因为设计的价值很难在中国市场中衡量,除非你的公司有一定的品牌影响力,否则你的产品最被关注的部分永远不会是设计,如果不能直接为公司挣钱,那么你可以想想办法为公司省钱,这也算一个贡献,比如在国内某大型通信企业,就有设计师因为提出较好的节省成本的意见,而被奖励的。但这种事情一般都是周期性的干,想通过它彻底改变你的工资水平,有点难度。

第三种是全世界都通用的法则,更高的职位意味着更高的工资,甚至有分红和意外奖。设计师绝不能成为单纯的体力劳动,因为我们的社会中对单纯的技术工种缺乏关怀和尊重,担任一定的管理职责,是设计师工资提升的必经途径。虽然有一些公司提出了两条路线(偏管理线,偏技术线)的人才结构模式,但是潜规则就是潜规则,从行为习惯上,管理者的薪资就是要比技术人员高。

敏锐的职业感觉就是了解到自己的真实情况,并选择不同的途径来获得最大的价值回报,这些回报有物质的,也有精神的,更好的回报带来更好的敬业态度,因此工作才能走入一个良性循环中。很多设计师的职业感觉不够,所以才会出现自己能力不够,却还希望拿高薪的窘迫情况。

5. 补充灰色收入

最后,接受灰色收入,是目前你现在既不能跳槽,又无法升职的备用解决方案,因为所有人都要养房,养家,吃饭生病,但是领导是有限的,机会是有限的。通常来看,设计师都是有灰色收入的,来自于私人项目、博客、或者其他合作等,没有灰色收入的设计师一是可能水平太烂,没人找,二是可能自己工资够花了不想这么累。

既然都说到了这个程度,你应该明白,设计师在当前还是一个非高薪职业,如果你想改变工资的数字,既不能依靠公司的怜悯,也不能依靠行业的腾飞,只能靠自己的努力以及对待慢速增长的态度。但是在赚取灰色收入的同时,应该注意以下几点:1. 不要影响正常的工作时间,和利用工作时间干私活;2.私人项目应该和公司的工作没有直接的利益冲突;3.任何时间上,私人项目的紧急程度都应该排在公司的工作之后。如果你忽略了这些原则,有可能你的灰色收入会给你的工资带来一些危机,比如被开除等。

另外,在赚取工资的同时,适当学会理财,投资,建立产业链的各种关系,也可以给你带来不菲的价值,钱再去生钱会比较快,仅靠单纯的工资积累相当辛苦。

http://lytous.ucdchina.com/?p=2360

dede 内容批量替换

好累,一失足,一失手,千古恨哎。

dede的很多东西还是不完善的,内容页因为dede的自动分页多出来
\&
最好部分手动,部分批量替换,剩余部分未解决。

关于此类问题,dede的网站只有提问,回答几乎可以四舍五入为0,很悲剧的一个论坛。

下面引用几篇帖子

我想批量替换内容,dede_addonarticle的body字段 主键字段应该填什么呢

我想批量替换内容,dede_addonarticle的body字段,但是用正则表达式 主键字段应该填什么呢,(正则模式必须指定) 我填写了aid,但是只找到300多篇文章,我数据库里有1万多篇文章呢,请各位高手指点下,
主键字段应该怎么填写。


关于调整文章内容页面内容摘要长度的求助,如何修改数据库?

呵呵,刚刚学习使用DEDECMS 5.5程序,第一次使用PHP的程序,很多问题还要好好学习。

刚使用不久,碰到的第一个问题是修改内容摘要长度。

我也在论坛搜索到方法了,看了 tzyss 兄弟的方法如下:

要调整文章内容页面内容摘要长度的方法是:

一,到数据库去修改dede_archives表的description字段,长度250改为你想要的数字,另外再顺便把null改为是,默认值改为null。(改null值是为了把自动摘要改为手动摘要)

二,修改article_add.php和article_edit.php,找到其中的$description = cn_substrR($description,250);250改为你想要的数字。

三,修改article_add.htm和article_edit.htm,找到其中的

dede 常用正则

常用正则表达式

平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:
"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

元字符及其在正则表达式上下文中的行为:

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。

? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。

{n} n 是一个非负整数,匹配确定的n 次。

{n,} n 是一个非负整数,至少匹配n 次。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。

(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern) 负向预查,与(?=pattern)作用相反

x|y 匹配 x 或 y。

[xyz] 字符集合。

[^xyz] 负值字符集合。

[a-z] 字符范围,匹配指定范围内的任意字符。

[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。

\b 匹配一个单词边界,也就是指单词和空格间的位置。

\B 匹配非单词边界。

\cx 匹配由x指明的控制字符。

\d 匹配一个数字字符。等价于 [0-9]。

\D 匹配一个非数字字符。等价于 [^0-9]。

\f 匹配一个换页符。等价于 \x0c 和 \cL。

\n 匹配一个换行符。等价于 \x0a 和 \cJ。

\r 匹配一个回车符。等价于 \x0d 和 \cM。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t 匹配一个制表符。等价于 \x09 和 \cI。

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。

\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。

\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。

\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。

\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

\nm标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。

\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。

匹配中文字符的正则表达式: [u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

=========常用正则式

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql语句:^(select|drop|delete|create|update|insert).*$

1、非负整数:^\d+$

2、正整数:^[0-9]*[1-9][0-9]*$

3、非正整数:^((-\d+)|(0+))$

4、负整数:^-[0-9]*[1-9][0-9]*$

5、整数:^-?\d+$

6、非负浮点数:^\d+(\.\d+)?$

7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$

9、负浮点数:^(-((正浮点数正则式)))$

10、英文字符串:^[A-Za-z]+$

11、英文大写串:^[A-Z]+$

12、英文小写串:^[a-z]+$

13、英文字符数字串:^[A-Za-z0-9]+$

14、英数字加下划线串:^\w+$

15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

17、邮政编码:^[1-9]\d{5}$

18、中文:^[\u0391-\uFFE5]+$

19、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

21、双字节字符(包括汉字在内):^\x00-\xff

22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

23、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/>

24、匹配空行:\n[\s| ]*\r

25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

29、提取信息中的中国手机号码:(86)*0*13\d{9}

30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

31、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

34、提取信息中的任何数字 :(-?\d*)(\.\d+)?

35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

36、电话区号:/^0\d{2,3}$/

37、腾讯QQ号:^[1-9]*[1-9][0-9]*$

38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

39、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

CentOS 5 下 安装 OpenVPN 和 Windows 下 OpenVPN GUI 安装配置

Notice:OpenVPN是个浩大的工程。本教程是结合多个教程和个人折腾数十个小时后成功后编写的,希望对大家有所帮助。(文章中有很多命令是已经“.”开头的,请别忽略咯)
这是我第一次接触Linux系统,我是一个Linux盲。文章中或许有不正确的地方,希望高手指正!
我用的系统是CentOS 5 X86
首先,你要联系客服打开VPS的tun/tap、iptables要支持NAT(有些VPS的控制面板可以直接打开),也可以告诉客服,你要用OpenVPN,让他把应该打开的都打开。
好了,切入正题!
一:服务器
1.用Putty登录你的VPS(额 地球人都知道)
2. 下载LZO和OpenVPN (我用的OpenVPN是2.1.rc15版)
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
wget http://openvpn.net/release/openvpn-2.1_rc15.tar.gz

3.安装OpenSSL
yum install -y openssl-devel

4.安装Gcc ,这是用来编译后面的C语言的(我用的VPS默认没安装,如果已经安装的会有提示)
yum install gcc
安装make
yum install make

5. 安装LZO和OpenVPN
tar zxvf lzo-2.03.tar.gz //解压
cd lzo-2.03
./configure
make
make install //安装
cd ..
tar zxvf openvpn-2.1_rc15.tar.gz //解压
cd openvpn-2.1_rc15
./configure
make
make install //安装
cd ..
cp /root/openvpn-2.1_rc15/easy-rsa/ -r /etc/openvpn //拷贝文件
6.生成证书
初始化PKI
cd /etc/openvpn/2.0/
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
export KEY_SIZE=1024
export KEY_COUNTRY=Cn
export KEY_PROVINCE=FJ
export KEY_CITY=FZ
export KEY_ORG="Rex" //引号要用英文半角符号
export KEY_EMAIL="mail@mail.com" //引号要用英文半角符号
. vars
7.创建证书颁发机构(CA)
./clean-all //这行命令是清空Keys文件夹下的所有文件
./build-ca
接下来的信息你可以自己填写
8. 建立server key
./build-key-server server
接下来的信息你可以自己填写
9. 生成客户端 key
./build-key client1 // client1 可以自定义 这个是客户的名字
接下来的信息你可以自己填写
10.以此类推建立其他客户端 key,当然你也可以不用,也可以在使用中在添加,不过比较麻烦,文章后会有教程
./build-key client2
./build-key client3

注意在进入 Common Name (eg, your name or your server’s hostname) []: 的输入时, 每个证书输入的名字必须不同.
11. 生成Diffie Hellman参数 (这个很重要)
./build-dh
12. 将 keys 下的所有文件打包下载到本地(可以通过winscp,http,ftp等等……)
tar zcvf yourkeys.tar.gz keys/
13. 创建服务端配置文件
mkdir /etc/openvpn/2.0/conf
cp /root/openvpn-2.1_rc15/sample-config-files/server.conf /etc/openvpn/2.0/conf/server.conf

14.服务端配置文件(server.conf) 我建议使用winscp 把/etc/openvpn/2.0/conf/server.conf 下的server.conf 文件下载到本地用Notepad++工具编辑。这里给个参考
port 1194
proto udp
dev tun
ca /etc/openvpn/2.0/keys/ca.crt //这个需要按照具体目录设置
cert /etc/openvpn/2.0/keys/server.crt //这个需要按照具体目录设置
key /etc/openvpn/2.0/keys/server.key //这个需要按照具体目录设置
dh /etc/openvpn/2.0/keys/dh1024.pem //这个需要按照具体目录设置
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
15.启动OpenVPN
setsid /usr/local/sbin/openvpn --config /etc/openvpn/2.0/conf/server.conf // 这个命令是能在你退出Putty继续让服务工作
/etc/rc.d/init.d/iptables start

16. OpenVPN 访问外网的设置(如果不设置,你连上后只能在你和VPS之间建立VPN)
关闭Putty后重新登录 输入
ifconfig
输出:如:
venet0:1 Link en
cap:UNSPEC
Hwaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:你的VPSIP地址 P-t-P: 你的VPSIP地址 Bcast: 你的VPSIP地址 Mask:255.255.255.255
“venet0”要记录下来!(不同的地方不一样)
继续输入
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
其中的venet0 按情况更改
继续输入
/etc/init.d/iptables save
/etc/init.d/iptables restart
注意 有的时候可能不行 那么可以尝试用这个命令
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 你的服务器IP
17.查看
输入
sysctl -a | grep for
查看结果 如:
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf. venet0.mc_forwarding = 0
net.ipv4.conf. venet0.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.ip_forward = 1
如果你的主机上列数值不是为1, 则要将其改成1, 用这个命令
如:
sysctl -w net.ipv4.ip_forward=1
18. 设置 OpenVPN 服务器 reboot后自动启动 openvpn
vi /etc/rc.local
/usr/local/sbin/openvpn --config /etc/openvpn/2.0/conf/server.conf &
19.到此 基本就可以链接上去试试了,访问下如ip138.com 这类的网站,看看你的IP哦~
二:客户端配置
1. 下载 openvpn-2.1_rc15-install.exe(此版本集成 OpenVPN GUI)
2.安装OpenVPN GUI(用默认安装)
3.配置
将上面yourkeys.tar.gz中的下列证书文件解压到 你的OpenVPN GUI安装路径\OpenVPN\config文件夹下
ca.crt client1.key client1.crt
记住ca.key 千万别泄露哦
4. 修改client.ovpn
把你的OpenVPN安装路径\OpenVPN\sample-config下的client.ovpn文件复制到你的OpenVPN安装路径\OpenVPN\config文件夹下,用记事本打开client.ovpn
找到remote my-server-1 1194,把my-server-1改成你的VPS IP地址
5. 双击 client.ovpn 即可启动 openvpn, 或者通过 OpenVPN 的控制启动 VPN
6.出现 Initialization Sequence Completed 表示成功
三:如何在一起都安装好之后继续生成客户端配置文件呢?
1.登录 Putty,输入
/cd /etc/openvpn/2.0/
. vars
./build-key client2 //client2是客户端名字 然后按照步骤继续生成即可
备注:
附上一个用于停止OpenVPN的命令:
killall -9 openvpn
教程基本就到这,如果有新内容我会继续添加 ^_^

Gtalk群使用简介

应chinablogs的老大要求,翻//墙去万恶的资本主义国建申请了这个Gtalk群,但是这是个稀罕物件,所以很多人都不会用,特意写个教程,也希望对推广Gtalk有所帮助,呵呵,当然了写了这么多,也作为一篇博文发出来给不是这个群组的网友看看,希望也能帮助你们使用它,呵呵。

Gtalk下载地址:中文版(据说聊天内容不加密) 国际版 目前新浪UC也支持Gtalk协议,所以可以下载:地址 Gtalk还有Gmail邮箱在线,iGoogle个性化主页也可以使用。这些都是Windows版本的,其他版本的我也不是很清楚。呵呵。

Gtalk好友加:chinablogs@chatterous.com 即可,然后输入:@join 按“Enter”键发送!

如何加入群?

很多方式可以加入群:

* 群创建者邀请。
* 如果你知道群密码或者简称(chinablogs@chatterous.com),直接在Gtalk里面加好友就可以了。新浪UC目前也支持Gtalk。或者Gmail里面开通聊天。
通过 email
在邮件内容中写 @join 发送到 chinablogs@chatterous.com
通过 google talk
添加 chinablogs@chatterous.com为你的好友,然后发送 @join
通过 web
进入网址:www.chatterous.com/chinablogs/ (要翻墙)。

注意:群如果90天没有过发言的话,就会被暂停,暂停30天之后群就会被删除。

命令:
email 命令:
@stop - 停止使用你的邮箱接收群信息,时间为1天。
@go - 恢复使用你的邮箱接收群信息(通过你的邮箱发信息给chinablogs@chatterous.com直接转换为自动接收群信息).
@members - 显示群成员列表。

通过 jabber/google talk:
@stop - 使用你的jabber/google talk接收群信息,时间为1天。
@go - 恢复使用你的jabber/google talk接收群信息(发信息给chinablogs@chatterous.com直接转换为自动接收群信息).
@members -显示群成员列表.

其他命令,同样适用两种方式。
@get # 查看最后发出的1—100条群消息(例如:@get 20)注意@get 后有空格
@snooze # #分钟内停止接受群消息
@leave - 永久离开群。

附送表情:

猴子::(|)
---------------
收音机:\m/
---------------
===========================
表情符图释大全号大全
└(^o^)┘; 偶头好状壮捏
﹌○﹋ 喔嗨呦^ˇ^≡
~^o^~ 大家安安!!
=^_^= 温馨的微笑!!!
Y(^_^)Y 举双手胜利
\^o^/ 欢呼
^o^y 胜利^o^y
↖(^ω^)↗ 小猪为你打气!
~^o^~ 加油呦!
*^?^* 笑,打
*^ο^* 哦~,呵呵傻笑
*^◎^* 呵呵大笑(嘴唇好厚)
*^÷^* 得意的笑(有上下唇的哟)
~~~^_^~~~ 笑毙啰(笑得连眼泪都蹦出来了...)
(-.-)=3 松ㄌ一口气~
~~~///(^v^)\\\~~~ 微笑表示友善!!!~哈~哈~
~@^_^@~ 可爱呦!
\\*^o^*// 可爱ㄋㄟ~
~*.*~ 害羞又迷人的小女生
#^_^# 脸红了!!
∩__∩y 耶~~^^ (装可爱?!)
(*^@^*) 乖~(还含个奶嘴哦) X﹏X糟糕.. 完蛋的意思呀~~
(° ο°)~@ 晕倒了..
{{{(>_<)}}} 发抖 ╯﹏╰ 粉无奈~~ \(╯-╰)/ 很没劲/无耐的意思 (╯︿╰﹀ 一脸苦瓜 ︸_︸ 粉无奈..粉悲情 -____-" 唉~~别提了..... 。_。 受到打击,表情呈现呆滞样~ (*@︿@*﹀ 悲,晕 -︵- 好伤心. //(ㄒoㄒ)// 流泪中... ::>_<:: 哭 〒_〒 鸣~~我在哭... %>__<% 我要哭了哦... ╰_╯我发火了!! 生气的意思~~~眉毛都翘起来~~ >_<# 粉生气~冒青筋 @x@ 生气 (ˋ︿ˊ﹀-# 生气 (>﹏<) 不~ (*+﹏+*)~ @ 受不了~ x__x, 唉..... 别哭了! 状况外时会发生的情况(回选单) 讶异的(回选单) >_<||| 很尴尬~!!! ^_^; 尴尬 ⊙﹏⊙∥∣° 真尴尬~~ ^_^||| 好尴尬! ^_^" 尴尬的笑..... →_→ 怀疑的眼神~~ ..@_@|||||.. 头昏眼花 …(⊙_⊙;)… ○圭~○列~~怎么酱? o_o .... 沉思(说穿了"呆滞状况") O__O" 呆滞的眼神~~~!! ///^_^....... 造成"冷"...干笑~ ?o?||| 听无(就是听不懂ㄉ意思啦^^) ( )? 什么意思?? (+_+)? 不知道你在什么 (?ε?)? 哩公啥哇听无啦~ o_O??? 发生啥事? @_@a 搔头,疑惑 一 一+ 锐利的眼神~ >"<|||| 伤脑筋的意思~ ‵(*>﹏<*)′ 好刺激..
(*@ο@*) 哇~
O_o 惊讶~~~
(⊙o⊙) 目瞪口呆
(°ο°)~ @ 晕倒,不省人事
*@_@* 崇拜的眼神;眼睛为之一亮
★~★ 见到偶像眼睛为之一亮
表达爱意(回选单)
^◎- 爱你呦~~
(*^?^*) 啵一个!
(^_^)∠※ 送妳一束花
(*^︹^*︺ 羞羞
‵(*^﹏^*)′ 超级羞羞
‵(*∩_∩*)′ 献上
爱困的(回选单)
~_~ 想睡觉了的意思!!
(~ o ~)~zZ 我想睡啦~
π_π? 打瞌睡
其他的状况(回选单)
感动的(回选单)
=@~@= 一个看到美眉就紧张+脸红的大学生。
@(一-一) 秘密--------嘘```````
(ˇ︿ˇ﹀ 不以为然
(^人^) 拜托啦^^~
(^_^)/~~ 掰掰~
*x*... ... 你逼我也没用,我劫对不会搜粗弃的!
~w_w~ ... ... 嘘!别吵偶,让偶思考一下!
(ˇ?ˇ) 嗯~,思考中
..<{=... 乌鸦乌鸦飞过去表示冷场,无趣..... (*>.<*)~ @ 酸~ ~`o`~ 了解 ˋ_ˊ* 你不要命啦!!! -.- 装蒜 ~>_<~+ 好感人唷... Q_Q 流眼泪的样子!! (+﹏+) 流泪,感动 ‵(+﹏+)′ 超级感动,眼泪不停 ^_^o ~~~ 感动感动~~~ ||||| 表情篇 ||||| (?_??) ( *^_^* ) (..) 什么事啊? 笑(打招呼) 请问~ (((^^)(^^))) ( T___T ) (≧◇≦) 什么什么,告诉我吧! 怎么会这样… 感动~ ……\ ( > < ) / ( ⊙ o ⊙ ) ( ¯ □ ¯ ) 哇~出现了 目瞪口呆 脑中一片空白 ( *>.<* ) ~@ f( ) ( E___E )
酸~~! 呵,这样啊 念昏了头
( $ _ $ ) (b_d) ( 3__3 )
见钱眼开! 戴了副眼镜 刚睡醒~
(*^@^*) ( @^^@) o(?"?)o
乖~还含个奶嘴哦 脸红了啦! (皱眉头)
(?o?) (☆_☆) (*^︹^*)
喔? 眼睛一亮 羞羞脸
&( ^___^ )& (*^﹏^*) (.Q.)
麻花辫女孩 超级羞羞~ (作鬼脸)
( ﹁ ﹁ ) ~~~→
怀疑喔~~

||||| 问候篇 |||||
p( ^ O ^ )q ㄟ(??) (??)ㄟ
加油! 去那里呀?
( ^___^ )y ( /。\ ) ( # ^.^ # )
喔耶~! 死相! 幸福吗?
( ^︿^ ) < ( _ _ ) > \ ( >O< ) / 对不起啦! I'm sorry~ ki si la! σ(‥) \( ^▽^ )/ (.m.) (枪毙) 喔嗨唷~! 暴牙的人 (#‵′)凸 ( -___- )b (((m -_-)m (比中指) 哩马搬搬蛮 鬼~~~ (‘‘)(’’) ( ' – ' ) (‵▽′)Ψ 默默相对 嗯嗯。 诅咒你! ||||| 动作篇 ||||| ........ ( . .) (~^O^~) (¯^¯ ) 有话快说… 嘿~ 当然! ( @o@ )|||| ((o(^_ ^)o)) ( *_* ) ㄟㄟㄟ…!? 期待状 不妙了! z( U__U )z (>_<)}} ( +_+ ) 可恶…(手扠腰) 好冷喔~ 刺眼! (x___x) ( ∪.∪ )... zzz ZZZ (昏倒) 呼噜呼噜…… *\ ( ^ v ^ )/* d ( ^^ ) ( ¯▽¯;) GO (拿彩球) 暂停 糟糕!被花现了! (((((((((( ^^ ﹔ ( 9__6 ) (。^。) 快逃~嘿嘿… 我疯了… 嗤之以鼻 (;°○° ) ( - __ - )y--~ ( ^3^ )╱~~ 啊!! 来根烟吧… 给你一个飞吻~ (ˇ︿ˇ) (^?^A;) 〝( />< )/ 不以为然 (擦汗…) 阿达~ o(‵′)OOO o -_-)=○)°O°) 连发飞拳! 给你一拳! ||||| 情绪篇 ||||| \ (@^0^@) / ( >﹏< ) < (‵^′) >
你好! 不~ 嗯哼~
( # ^^ # ) (∩_∩) (#‵′)
偷偷的自满 微笑~ 哼!
( ~___~ ) ( QoQ )b /( YoY )\
要你管… 人家才没有 我放弃…
( 9__9 ) ( > c < ) (ˋ︿ˊ) 很想睡觉哩 哀哀叫! 我生气啰! (^口^;) (‵A′)b o (^^) o 真尴尬… 受到打击… 呀比! \ (^^) (~>__<~) (;-_-)
好啦! 气得掉眼泪 不知道啦
(→_→) <(""O"")> o(><;)o o
你是谁? Oh!My God 慌慌张张
(═‵′═) (○^~^○)
做什么啦! 幸福呢!
||||| 动物篇 |||||
< °)#)))≦ <*)>> >=< ≡﹝° °﹞≡
烤鱼 鱼骨头 螃蟹
< □:≡ (:◎)≡ @/”
鱿鱼 章鱼 蜗牛
(??)nnn (=^ ^=) (¯(∞)¯)
毛毛虫 小猫咪 猪猪
<‵▽′> ζ°≡ Σ ^ )/
老虎 狮子 乌鸦
(:≡ (((● < (°°)~
水母 蟑螂 蝌蚪
(=^ω^=) /( * W * )\ <(0^◇^0)>
狐狸 小白兔 麻雀
||||| 杂物篇 |||||
■D〞 ε==3 ○●○─
咖啡杯 骨头 烤丸子
●~* --<--<-<@ ∠※ 炸弹 玫瑰花 花束 8< ( ●-● ) ( :: ) 小剪刀 太阳眼镜 OK 蹦

参考:http://pichuw.myweb.hinet.net/expression.htm

图释

单人篇

符号 意思 符号 意思

ο-_-)0)。0) 给你一拳~~ m(_ _)m 万事拜托(跪地,嗑头) (/_\) 看不到~眼睛被手摭住了 |(- _-)| 没听到~耳朵遮住了 (⊙0⊙) 目瞪口呆 ⊙ . ⊙ 睁大眼 \(^ 0^)/ 举手欢呼 - -|||| 无奈 ?~? 疑问、疑问 (T_T) 伤心、我哭了 QQ 流泪 Q0Q 流泪、张大嘴 〒△〒 哭 T△T 哭诉....... U///U 脸红红~ ≧◇≦ 感动~ ╮(-_-)╭ 两手一摊~ = =# 生气(青筋暴露) = 3 = 嘟嘴( (-_-)y--~~ 抽烟...... (/‵Ⅲ′)/ 抓你来咬!!! (Q o Q) b 人家才没有 *\(^_^)/* 拿彩球、为你加油~ (#‵′) 啍!! (>_<) 小生气 \ _ /# 我生气了(横眉竖眼) (*^.^*) 亲一个!!! \(@^0^@)/★ 晚安~~ (>﹏<) 不!!!!!!!!!!!11 (*+﹏+*)~@ 受不了~受不了 ‵(*∩_∩*)′ 献上最可爱的笑容 (×_×) 昏倒 ........\(><)/ 哇!!出现了!! = =b 冒冷汗

^ ^" 笑笑的无奈 (-_-)zZ 睡着了啦~
-▽-y 耶! ∪_∪ 恩恩~
((。(^_^)。)) 期待、期待 <(‵▽′)> 哈哈哈~~(我是坏人~)
"(/><)/ 阿达~~ (>c<) 唉唉叫~
(^^;;;;; 紧张、紧张~~ (╯︵╰) 一脸苦瓜
p(^_^)q 加油~(两手紧握拳高举) f(^_^) 这样啊...
<("""○""")> Oh! My God (.Q.) 做鬼脸
(*^^)/.。.:*:.。★,。:*。☆ 祝好梦
("*_*)(‵~~‵)==== 看到鬼,就是看到鬼了嘛
(_ _)(- . -)(~0~) 累了~又瞇眼~又打呵欠的~
(^o^哇)~~(^0^)哈~~(^○^)哈~~ 大笑三声~~
0(^o^)~~YA(^0^)~~SU(^○^)~~MI(^_^) 好好休息(用于睡前~日文)

双人篇
符号 意思 符号 意思
(((^ ^)(^ ^))) 什么什么 (⊙_⊙)<~~啾~~>(#^_^#) 亲一个
(^ ^)/▽▽\(^ ^) 干杯~~杯子碰杯子 (^_^)/★\(^_^) 干杯(杯子相碰)
(^_-)db(-_^) 手指打勾勾~约定!
非人类篇
符号 意思 符号 意思
<。)#)))≦ 烤鱼 (??)mmm 毛毛虫
\(0^◇^0)/ 麻雀 <*)>>>=< 鱼骨头
(=^ ^=) 猫 /(*w*)\ 免子
^(00)^ 小猪 (:≡ 水母
(。。)~ 蝌蚪 <□:≡ 乌贼
@/" 蜗牛 Σ^)/ 乌鸭
ζ。≡ 狮子 --<-<-<@ 玫瑰花
(((●< 蟑螂 <※ 花束

表情来源于:http://hi.baidu.com/%B9%C8%B8%E8%B0%AE%BA%C3%D5%DF%C8%BA

河南话 电影 《不是闹着玩的》 片花

3 of our most popular domains -- 30% OFF

We're making it easy to SAVE BIG on three popular top-level domains. Register or renew as many .COM, .NET or .ORG domain names as you want and SAVE 30% OFF our current site price!* But this sale ends Sunday, April 4, 2010, so order now!
SAVE 30% on any available .COM, .NET or .ORG!* Use source code gda347k when you check out.

Every Go Daddy® domain name includes $100 in FREE extras+ — an easy-to-use Web site builder with hosting, personalized email, blog, photo album and more. And we back it all with friendly, expert support, available LIVE 24/7 by phone or email.

This domain sale ends April 4, 2010 at midnight (Pacific Time), so start shopping now! Order online at GoDaddy.com or call 1-480-505-8821 today and use source code gda347k when you check out to get your special savings.

Thanks as always for being a Go Daddy customer.

Godaddy 10% off Weekend Savings

You worked hard all week. Now reward yourself with special weekend savings on your favorite Go Daddy® products. SAVE 10% on your order of $40 or more* between now and Sunday, March 21, 2010 at midnight (PT).

Linux VPS下SSH常用命令

目录操作:
rm -rf mydir /*删除mydir目录*/
cd mydir /*进入mydir目录*/
cd - /*回上一级目录*/
cd .. /*回父目录,中间有空格*/
cd ~ /*回根目录*/
mv tools tool /*把tools目录改名为tool */
ln -s tool bac /*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/
cp -a tool /home/vpser/www /*把tool目录下所有文件复制到www目录下 */

文件操作:
rm go.tar /* 删除go.tar文件 */
find mt.cgi /* 查找文件名为mt.cgi的文件 */
df –h /* 查看磁盘剩余空间,好像没这个必要,除非你太那个了 */

解压缩:
tar xvf wordpress.tar /* 解压tar格式的文件 */
tar -tvf myfile.tar /* 查看tar文件中包含的文件 */

tar cf toole.tar tool /* 把tool目录打包为toole.tar文件 */
tar cfz vpser.tar.gz tool /* 把tool目录打包且压缩为vpser.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB */

tar jcvf /var/bak/www.tar.bz2 /var/www/ /*创建.tar.bz2文件,压缩率高*/
tar xjf www.tar.bz2 /*解压tar.bz2格式*/

gzip -d ge.tar.gz /* 解压.tar.gz文件为.tar文件 */
unzip phpbb.zip /* 解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的 */

下载:
wget http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz
/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事 */
wget -c http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz
/* 继续下载上次未下载完的文件 */

转载请注明出处:VPS侦探 http://www.vpser.net

进程管理:
ps -aux /*ps 进程状态查询命令*/

ps命令输出字段的含义:
[list]
[*]USER,进程所有者的用户名。
[*]PID,进程号,可以唯一标识该进程。
[*]%CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
[*]%MEM,进程使用内存的百分比。
[*]VSZ,进程使用的虚拟内存大小,以K为单位。
[*]RSS,进程占用的物理内存的总数量,以K为单位。
[*]TTY,进程相关的终端名。
[*]STAT,进程状态,用(R--运行或准备运行;S--睡眠状态;I--空闲;Z--冻结;D--不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。
[*]START,进程开始运行时间。
[*]TIME,进程使用的总CPU时间。
[*]COMMAND,被执行的命令行。
[/list]

ps -aux | grep nginx /*在所有进程中,查找nginx的进程*/
kill 1234 /*1234为进程ID,即ps -aux 中的PID*/
killall nginx /*killall 通过程序的名字,直接杀死所有进程,nginx为进程名*/

Vim操作:

移动类的:
h/j/k/l: 左/下/上/右 移一格
w : 向后词移动 (前面加数字移动多少个词)
b : 向前词移动 (前面加数字移动多少个词)
e : 向后移到词末
ge : 向前移到词末
$ : 行末
0 : 行首
tx : 向右查找本行的x并移到那儿(大写时向左)
33G : 移到文件的第33行
gg : 文件首行
G : 文件尾行
33% : 文件的33%处
H/M/L : 屏幕的首/中/尾行
zt/zz/zb : 当前行移到屏幕的首/中/底部

跳转:
" : 回到跳转来的地方
CTRL-O : 跳到一个 “较老” 的地方
CTRL-I : 则跳到一个 “较新” 的地方

查找:
/ : 向下查找(后加关键字)
? : 向上查找(后加关键字)
n : 下一条符合的记录

编辑:
i : 转换到插入模式
x : 删除当前字符
. : 重复最后一次的修改操作(同PS里ctrl+f执行滤镜)
u : 撤销操作
CTRL-R : 重做
p : 将删除的字符插入到当前位置(put)

退出保存:
:q : 退出
:q! : 不保存退出
ZZ : 保存后退出
:e! : 放弃修改重新编辑

掌握这些基本命令,Linux下的基本使用已经掌握,只要多加练习,多遇到问题,解决问题,能力就会不断的提升。

转载请注明出处:VPS侦探 http://www.vpser.net

    Page :