自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 关于项目管理专业人士(PMP)认证考试5P的个人心得

PMP考试还是较有挑战性的,要有提前的认识,打一场有准备的胜战.不管是考场的发挥还是技巧的应用,如果没有扎实的基础,都是空中楼阁。扎实的基础来自于平时的努力

2015-08-09 17:10:48 6780

原创 快捷支付单方便划款,支付宝绑架银行,网银安全关卡成马其诺防线?

帖子原发Qzone,结果被腾讯和谐掉了。。。不明白为啥,就发到csdn上看看,前记:本来钱存银行,我在银行的账号安全级别是最高的,不管是 ukey, 证书,还是密码,除非银行出现问题(倒掉,内部操作),我都不担心账号安全。现在凭空多了一种渠道,这渠道可以不通过我在银行设置的这些安全关卡,直接划走我的钱。这种个风险前提下,我在银行设置的关卡变成了”马其诺防线”。就算没发生事件,我平时得多份心

2011-12-29 16:23:40 5582 1

转载 【转】用shell写的几个日期函数

<br />用shell写的几个日期函数 2008-12-25 09:20#!/bin/sh#######################################SHELL日期计算函数 ##1:判断是否闰年check_leap() ##2:获取月份最大日期get_mon_days() ##3:检查日期格式check_date() ##4:返回昨天日期get_before_date()

2011-05-26 18:53:00 2081

原创 ed再研究(ed的临时文件与sed -i的临时文件区别)

趁热打铁前边讨论sed -i 与sed的差别时提到:ed实际上是全文拷贝到内存做镜象,通过编辑镜象和回写保存整个文件。sed是流编辑器,对流有感性理解的人不难理解sed -i的临时文件的作用:做为流的输入sed -i可以形象的比喻成:把一桶水原来的标签拿掉,换个新标签,通过“管道”将水倒进一个新的桶里那么ed呢,ed是处理方式则是:把桶里的水“倒(实际上是复制)”到另一个桶里,直接对桶进行处理,再倒回原来的桶。见man ed原文If invoked with a file argument, then a

2011-05-21 19:34:00 2797

原创 shell文件编辑工具,sed -i与ed的区别

着无聊,继续答题问题:GNU sed 提供了-i选项,为什么有人说sed -i 并不象 ed 一样真正的编辑文件?(提示:观察文件改变前后的inode)注意审题的话,这题是二个文件编辑器的比较,也有可能是提示的误导,这题大都知道答-i 是用临时文件的机制,但这道题如果不通过说明ed 的模式,再做sed -i 与ed 比较,怎么看都不算完整

2011-05-19 18:19:00 8629 5

原创 解释器文件的参数问题(!/usr/bin/sed -n -f为什么报错)

<br />由问题引出讨论,这次的问题是:<br /> <br /> echo good|sed -f  sed.sed<br />1.   sed.sed:  -n  /good/p  <br />2.   sed.sed:  /good/p<br />为什么第一种会报错呢<br /> <br /> <br />由这个问题引发下边的问题:<br />#!/usr/bin/sed -n -f为什么报错<br /> <br />=====================================<br

2011-05-17 23:03:00 2950

原创 Awk里的域赋值操作和部分源码解析($1=$1,$0=$0,FS,OFS)

前言:cu上出了个shell题:http://bbs.chinaunix.net/thread-2319120-1-1.html第八题:GNUawk的$1=$1到底有什么作用?$0=$0呢?这题问得相当的细致。可能很多人已经常用这二个赋值语句,却半知半解。以下分二部分对这个题目进行分析建议没心情,没耐心,没兴趣的人,只需要了解下第一部分,看第二部分就表看了,很罗嗦的。第一部分:能过man上边的解析,回签这二个赋值语句的功能第二部分:awk部分源码解析(结点树简介,及域模块)          通过分析a

2011-05-16 19:32:00 6799 1

原创 find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)

晚上群里有人讨论起find命令,为find命令的-o,-a困扰,相当混乱的感觉,特整理了一下。首先得要提几点find命令的基本知识点,以此为基础进行find命令解析一:find的基本模式和默认规则find的基本模式是 find [path] [express] /*man find最上边的命令格式 */path可以省略,默认是当前目录,express又区分为options(选项)+tests(条件)+actions(动作),express可以逻辑复合express

2011-05-11 01:50:00 8112 3

原创 浅谈自底向上的Shell脚本编程及效率优化

<br />小论文,大家多批评指导:)<br />======<br />摘  要:   低效的shell脚本设计会进一步影响原本解释器模式下并不见长的程序运行效率,使其在面对大数据量文本分析时的资源与时间消耗变成难以接受的。本文分析了shell语言及其应用需求的特点,从分层设计的角度提出了“自底向上进行shell脚本编程”的理论,同时提出了从“外部系统环境”到“内部执行模式”全面的掌握工具软件的方法。实例充分证明,自底向上的shell脚本编程思想及方法能够有效提高脚本的执行效率。<br />关键词:  脚

2011-03-25 10:17:00 9729

原创 shell命令解析中扩展与重定向顺序问题

<br /> <br />今天群里有人问了个问题:<br />echo $((12+34.0))  >/dev/null 2>&1<br />上句话中的错误怎么没有被重定向呢?<br /> <br />执行情况如下:<br />[root@rac0 ~]# echo $((12+34.0))  >/dev/null 2>&1<br />echo $((12+34.0))  >/dev/null 2>&1<br />-bash: 12+34.0: syntax error: invalid arithmeti

2011-02-21 09:43:00 3210 1

原创 bash shell中的">file"与": >file"讨论

今天群里在讨论这么个问题:file和 : > file一样嘛?file会产生新进程嘛?还是在某些平台等同于: > file?手头上只有bash shell,以下内容限于linux& bash,其他平台不一定相同:这种问题很纠结,看来了解shell的命令解析和执行永远是关健在info bash里3.1.1有关于shell命令解析步骤描述指出:shell扩展之后紧接着是重定向,接着才是命令执行,重定向不会创建进程,命令执行不一定创建进程,根据情况(关于子进程的创建前边有文章有提及)说回问题首先是">file",

2011-01-11 17:04:00 1122

原创 awk读取标准输入的讨论&awk源码读取输入部分分析

<br />今天群里有人问了个问题:<br />grep ...|awk ... filename<br />这种情况下awk先将管道|的数据处理完后,再开始处理文件filename么?<br /> <br />答案很多人都知道是否定的,<br />一般的格式是:grep ...filename|awk ... <br />不过问题目的人是想实现这样的功能:<br />grep ... file1 | awk ... file2<br />将grep后的结果送给awk先存下来,再处理file2<br />大

2010-11-17 11:15:00 4808 1

原创 IM(即时通信软件)标准推行的契机

<br />今天晚上QQ跟360死掐起来,到了不到你死就是我活的地步了~~<br /> <br />口水战打得多了,但在我看来,不管最后是哪家怎么样了,对用户来说,最好的结果并不是360还是qq怎么样,如果能做个标准tm接口,实现各种软件相互通信,分享QQ的用户平台,大有就不必又是gtalk,又是yy,又是uc了~<br />只不过是加个标准,各IM软件可以互相发消息。<br />各IM还是保留着自身的应用服务特色<br />比如QQ有QQ的用户应用平台,QQ邮箱,QQ游戏,QQ空间等,<br />gtal

2010-11-03 20:41:00 697

原创 发点面经,攒RP。深圳建行实习 一二三面&华为 一二三四面

发信人: sosodream (面朝大海^_^春暧花开), 信区: D_CS标  题: 发点面经,攒RP。发信站: 鼓浪听涛 (Thu Oct 21 11:21:05 2010), 站内一:毫无特色的开场白发点面经,攒RP。1:深圳建行2010年署期实习面试厦门地点进程 & 实习的内容2:华为(一面专业单面,二面群面,三面性格测试,四面综合面试) 建行的面试事隔四个月,几乎已经忘了当时的心情是如何的紧张与激动了。还是查看手机上的短信和别人的面经慢慢才回忆上起来。数据上有些模糊和误差,但大致上是没错的。记下一

2010-10-21 11:51:00 4694

原创 shell脚本编程应用:进制转化,bc中的ibase与obase

<br />shell进行进制换算并不难,可以使用SHELL的算术扩展<br />[root@rac0 ~]# echo $((2#11110)) 30[root@rac0 ~]# echo $((3#12))5<br /> <br /> <br />但算术扩展局限于其他进制转化成十进制,需要灵活的进行进制转化,还是需要用到bc<br /> <br />bc里通过设置ibase与obase可以灵活的进制转化,比如将10进制数转化成2进制<br /> <br />[root@rac0 ~]# e

2010-07-28 10:00:00 10974 3

原创 awk读取输入数字时对进制的判断问题

<br />考虑以下需求,用awk获取数值范围内的文件:<br />[root@rac0 testls]# touch 0405.log 0406.log 0623.log 0624.log 0625.log 0724.log 0725.log 0726.log[root@rac0 testls]# ls -l总计 32-rw-r--r-- 1 root root 0 07-25 18:39 0405.log-rw-r--r-- 1 root root 0 07-25 18:3

2010-07-26 17:35:00 1554

原创 SHELL的单引号'',双引号"",及$字符单双引号及字符转义的小结

<br />在shell运行命令中,单双引号总能引起或多或少的话题讨论,这边做个小总结<br /> <br />先看以下例子:<br />sosodream@ubuntu:~>echo '/t'|xxd+ xxd+ echo '/t'0000000: 5c74 0a /t.sosodream@ubuntu:~>echo -e '/t'|xxd+ xxd+ echo -e '/t'0000000: 090a

2010-07-22 13:39:00 12419 1

原创 awk部分源码分析:RS及三种模式

awk的程序执行过程,总是先读取一部分数据到buf下,根据RS截取一段段记录下来。RS做为awk的内置变量,即可以在awk程序中进行设置,也可以用参数的形式进行指定。这篇文章讨论的是从awk的源码去分析在不同的RS下的三种执行分支及其相应的效率以下开始分析源码:首先,awk调用get_a_record 函数获取单条记录,在get_a_record函数里,先读入一段数据到buf下            iop->count = read(iop->fd, iop->buf, iop->readsize);再对

2010-07-20 12:28:00 1960

原创 awk与shell参数传递(或说变量传递)二三点

awk与shell间参数(或说变量传递)是shell编程中常有的话题了,因为其中实际涉及到不少的知识点,比如包括a:进程进通信b:awk参数形式c:shell命令解析,命令替换等等,在此列举二三点例子,做为小结。以下主要分为二部分1:shell给awk传参2:awk往shell传参参考文档:gnu 的awk documentationhttp://www.gnu.org/software/gawk/manual/gawk.html#Language-History======================

2010-07-19 14:32:00 27989 4

原创 关于trap ERR的一个bash shell set 参数之二:shopt -s extdebug

本文是之前一篇文章的后续,关于trap ERR在函数调用,命令替换,命令列表()里的应用。等等,一个trap ERR涉及的太多,以至于经常会片面地去理解并由此产生疑惑 前文提及一个朋友想将trap ERR继续到函数调用里去,并由此引出shell的-e参数(等效于shopt的errtrace)然后另一个朋友提出了疑问,为何在()产生的子进程里,即使加了errtrace也无法继承trac ERR

2010-07-10 00:57:00 4285 4

原创 升级vmware tools导致了vm上不了网

<br />这二天就是在折腾,<br /> <br />先是装了新的win7系统,连带更新了下vm从6.5升级到7<br /> <br />原先是vm 6.5时装的镜象,在更新vmware 到 7.01版本后提示要求更新vmare tools,<br /> <br />在更新完vmtool后发现前一天还能正常上网的镜象,不了网了。<br /> <br />一开始由于是新装的win7系统,怀疑是真实机防火墙设置问题,<br /> <br />于是把出站,入站的程序和端口都开放了,甚至把防火墙,杀毒软件都关了也

2010-07-08 00:36:00 2210

原创 实例解析shell子进程(subshell )

通过实例,解析个人对shell子进程的一个了解,主要包括以下几个方面1:什么是shell子进程2:shell什么情况下会产生子进程3:子进程的特点与注意事项4:$变量$$在脚本里的意义,及如何得到子进程里的进程号

2010-06-21 12:48:00 30180 2

原创 关于trap ERR的一个bash shell set 参数之一:-E,

trap ERRshell调试set参数

2010-06-20 16:49:00 3794 7

原创 二个shell变量小记, HISTTIMEFORMAT ,和shopt:变量nullglob

考虑下这个二个问题:1:“echo *在一个空目录下执行的结果如何?”2:history输出能否带着命令执行时间?以前在看文档(主要是man和info)时,遇到工具的变量,总是跳过去不读,将这部分当做字典,需要时再查。事实上经典的变量,迟早是要碰到的。比如今天在群里就碰到了下边几个变量:

2010-06-18 16:40:00 2732

原创 awk函数,参数,小例

<br />相当简单的一个例子,主要是做为awk的函数,参数使用的一个小例子,<br />简单的例子其实可以扩展出不少内容的。<br />比如这里用到的BEGIN模块,awk内部模块除BEGIN外,都是要读输入的,<br />经常只采用BEGIN模块来测试awk<br /> <br />再比如awk的函数的可变参数等。。。不再细化了,有时间再讨论<br /> <br />例子:<br />[root@localhost awk]# cat c.awk             <br />+ cat c.aw

2010-06-18 16:14:00 1039

原创 shell条件表达式小结:test([])与 [[]]

在info bash里的第“6.4 Bash Conditional Expressions”节里开头有一句话说明了shell条件判断的二个机制:Conditional expressions are used by the `[[' compound command and the`test' and `[' builtin commands.机制一:内置(builtin)的函数test(运算符[]),此部分完整的说明,可查看“4.1 Bourne Shell Builtins”机制二:[[]],条件结构

2010-06-18 15:42:00 2165

原创 真真假假--shell里的逻辑运算

<br />最近群里经常讨论到shell里的与(&&)运算与或(运算)<br /> <br />这边也做下简单的总结<br />1:shell在逻辑运算下,跟其他语言一样支持与或非的逻辑运算(man test,或 在man bash里查的ARITHMETIC EVALUATION一节)<br />2:shell直接模工下,一般是以0为真,1为假,即根据函数(return)或脚本(exit)来判断真假。<br />3:bash里的&& 和|| 不像c里的优先级。在bash里,&& 与||是具有相同优先级的 ,

2010-06-17 15:48:00 9216

原创 rh里的/tmp清理机制-tmpwatch

<br />vm里装的是rhe 5系统,习惯性的写一些脚本时经常在/tmp下建一些临时文件或放一些测试数据,<br />最近发现/tmp老是默明其妙地被清理,但像a.sh,a.txt等文件却一直保留着。<br /> <br /> <br />想想自动的机制不外乎用到cron,于是在群里发了下问题:<br />rh默认的/tmp清理规则是在哪里设置的?cron?<br /> <br />然后就开始了讨论:<br />先有人提出来,在rc.sysinit(这个是存在在etc下的),由系统启动时,init进程读取

2010-06-17 15:40:00 4061

原创 grep正则执行模式粗探

今天群里讨论grep正则时,用到了-P选项查了下man      -P, --perl-regexp              Interpret PATTERN as a Perl regular expression.然后对grep的正则执行模式起了点兴趣,继续查看了grep的正则执行过程还是从main函数开始,跟踪grep的函数调用过程1:函数调用路径       在grep.c的main函数里,开始时,对参数(相当多)进行了分析(略)       然后调用正则编译函数 (*compile)(key

2010-06-08 14:48:00 1401

原创 又一道sed题的多种解决

<br />群里的讨论呵,将自个的答案发到blog上来题:(要求用sed)     有一根长300厘米的棍子,从左往右涂5厘米黑色,空5厘米,然后再涂5厘米黑色,再空出5厘米,……从右往左涂4厘米黑色,空出4厘米,再涂4厘米黑色,再空出4厘米……两边依次涂完之后,问空白处有多少厘米解答:看到题目时,出题的人已经给了了一个思路了呵,就是先顺序(按五间隔)=>转置=>再顺序(按四间隔),要求用sed处理然后我根据这个思路,写了一个简单的可行解:  perl -e 'print "0"x300,"/n"'|sed

2010-06-07 04:27:00 773

原创 bash shell数组模拟栈运算(函数化)

<br />将数组模拟栈运算函数化<br />包括push/pop/top/bottom/索引删除,存在检查等<br /> <br />array_test是测试和使用实例<br /> <br />#==========#1.0数组公函区#用数组模拟栈#出栈:array_pop#==========array_push(){local arrayname=$1local newitem=$2eval ${arrayname}'=("${'${arrayname}'[@

2010-06-03 21:10:00 1054

原创 bash shell数组模拟栈求四则运算混合表达式的逆波兰式和值

<br />###########################################################需求:四则运算混合表达式求值#描述:# 采用shell实现基于简单的加减乘除的混合表达式求值#分析:# 0:简单的加减乘除(a+b;a-b;a*b;a/b)直接调用工具计算# a:算法:先求出逆波兰表达式,然后计算逆波兰表达式# b:数据结构:采用数组保存(用数组模拟栈)##脚本说明:#脚本名:rpn.sh#脚本

2010-06-03 20:49:00 2576

原创 通过grep源码,分析grep返回值

<br />问题:<br />在群里跟朋友讨论grep的出错,提到grep返回码与返回的错误信息问题<br />想要确认grep的返回值是多少,如何区分各种错误,反回特意去gnu网站下载的grep源码进行分析<br /> <br /> <br />grep源码分析结果:<br />1:grep返回值有三个,0匹配,1:不匹配,2:出错<br />2:错误信息(包括解析后的错误代码)输出到标准错误中<br />3:通过设置-s,可以屏蔽错误显示<br /> <br />ps:二个发现<br />1:源码里有个

2010-05-31 19:47:00 7962 3

原创 sed脚本:计算每行字符数,并同时输出记录

序:相当蛋疼的脚本,看了info sed 里的一个关于sed脚本模拟cat -b命令,想到的自己做个练习,于是就有了下边的题目和答案。首发:QQ群  题目:用单个sed(不用管道)计算每行字符数,并同时输出记录如文件abcdefgh输出3 abc5 defgh    我的答案[root@localhost sed]# cat cword.sed#

2010-05-26 10:45:00 5144

原创 如何使脚本的set-user-id位起作用

 一:前记以下讨论围绕的一个问题:为什么C程序可以通过set-user-id位提权,但shell脚本不可以。 文章会比较罗嗦,其实只要了解unix程序的fork/exec并结合shell的执行过程,即可以明白。结论其实很简单就在最后,二句话。不耐烦的可以直接拖到最后边看呵。而且估计答案是很让人失望的。 写本文的目的主要将我对这个问题的认识的过程记录了下来,包括长期以来的一个误解

2010-05-08 14:29:00 3094 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除