2006年12月26日星期二

入职纪念~

呼呼,这次进XXX日子很有意思哦 ......
2006-12-25 签约
2006-12-26 入职
2007-01-01 签约正是履行日

2006年12月15日星期五

急!急!急!

上周我还在辞职后的悠闲中逍遥自在,现在终于退缩了。公司的拖字让我彻底绝望。我真想过去给老X说,你看看,我为什么辞职。这种工作态度,这种工作节奏已经成了公司的一种风气,一种习惯。这样你留下来的人都是什么人,自己想去吧。
但是毕竟我不是老板,也许他们有自己的考虑吧。
着急!急躁!躁气!气大!!!!!!!!!!!
留个心情的印记,老汉我回家看碟去,让烦恼永远留在这里吧。

2006年12月13日星期三

让领导先走


几天的报道唤醒我沉睡的记忆。12年前克拉玛依的大火,我是知道的。然而当时年幼的我对于数字的生命是没有任何体会的。记得有句话,原话忘了,但是意思还是很清楚:一个生命的消失是一个悲哀,然而许多生命的消失却只是个数字。
“让领导先走!!!”没有人去证实这个传言的证实与否,一个不争的事实是,当天参加活动并就坐前排的克市领导、教委领导几十人都成功逃生,没有一人死亡。死的都是孩子们、老师们以及外地来克市参加会议的同志们。

当我看到那“浓厚的血水不断往外滴落”,我感觉我看到了那一幕,那一滴滴的深黑色的血在不住的往下滴流,然而她似乎毫无察觉的躺在消防战士的怀里,眼里没有痛苦,却有着无奈和恐惧....
数字代替了生命,但是人我们不要忘记这些生命,从不要忘记这些数字开始:每一个数字是一个曾经美丽的生命,每一个数字是曾经快乐的人生,每一个数字都有一个独特的名字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
他们曾经拥有生命,正如那些“领导”一样,正如你我一样。

详见http://diygrass.blogspot.com/2006/12/blog-post_12.html

痛苦的老姐

当我们面对自己时,谁都会胆怯,因为这场战争似乎没有胜利,失败的不是“我”就是“我自己”;
当我们面对迷雾时,谁都会迷失,因为这条小路似乎没有出口,行走的路途与寂寞相伴;
当我们面对悲哀时,谁都会痛苦,因为这种感觉似乎来自内心的破裂,滴滴泪水只是点点回忆;

那么,我们如何生活?
没有答案,没有结果,有的就是过程,就像生命的本身。

自己总是要面对的;迷雾未必散去,但是小路也未必没有出口。
心灵的破碎没有无缝的胶水,但是为什么要一颗无暇的心呢,一颗有着淡淡伤痕的心也未必不是颗美丽的心,就像古时的裂纹釉,密疏的龟裂正是她美丽的来源。




当我将这些字留在老姐的blog上的时候,我也在面对自己,我也在迷茫,我的心也在痛苦。
我该怎么帮助她啊!!!

2006年12月8日星期五

辞职后感想



辞职后最大的感触就是轻松,打心底的轻松。
说实话,感觉这几天上班像去熟悉的网吧,就是和熟悉的人一起上上网。
但是工作移交的却有点烦躁。首先是拖,我一直奇怪,怎么会拖呢,难道公司不需要我留下任何东西?后来才明白拖是因为不知道让我留下什么好,谈话的意思,不仅仅要留下文档,有些东西要教会别人怎么用。晕倒,这个“教会”很有挑战啊。而且我在公司后期做的大多是linux、aix、os400的东西,这个要是让我在一个月内教会他们,我觉得我不用去XXX了,直接去大学教书好了。
不过,倒也不是烦恼的事,越是给的虚越是可以虚的还,呵呵。
以前看网页说,辞职后的一个月最难过了,说是心里别扭什么的,我倒觉的豁然开朗,心情舒畅,看来这家公司后期确实给我留下了很难以挥去的不舒服。现在唯一不爽的是要考虑去了XXX要做的事,还没去那就开始紧张了。这和这儿的自由散漫成鲜明的对比啊。

2006年12月7日星期四

CICS FOR NT 安装(转)

转自:http://blog.csdn.net/chaozhiping/archive/2006/05/29/759949.aspx
原创作者:晁智平 (如转贴请保留这行)

由于公司的CICS服务器是AIX的操作系统,不方便回家学习,所以想在2000下安装一下CICS服务程序。

虽然已经开发了近一年的CICS中间层的程序了,但大部分底层的代码都被封装好了,开发时的确很容易,可对真正的CICS的运作机制不是很清楚,于是在安装前阅读了关于CICS的一些文章。其中收益最大的是IBM网站的Txseries NT 中文版及刘睿的easycics相关的文章。结果发现在文章的最近居然有我们技术总监的名字。大概总结一下有以下几点:

1:CICS是基于事务的中间件同Tuexdo相同,而MQ是基于消息的中间件。

2:由于历史上的原因(主要开始不是IBM开发的)CICS用到了Encina的一些代码,而Encina又利用了DCE的代码。所以在安装CICS服务端之前必需要安装DCE,(Encina是和CICS在一起的)。

3: CICS服务器又分两大类:一是普通的连接方式,另外一种是支持XA协议(XA是一种标准,其功能是将本地程序的操作看成一个事务,可以回退本次程序中所以的数据库操作),而支持XA的在启动时会和数据库建立连接。CICS又支持两种XA,一是两阶段提交,即要先prepare,再commit,另外一种是一阶段提交,只做commint。

4:在CICS服务器上运行的程序是内嵌在cicsas进程中的,cicsas是服务器启动时生成的进程。程序动行完之后会让出cicsas以便其它的进程来运行。注意的是cicsas并不会退出,所以在XA的环增中,对数据库运行环境的修改应在退出之前恢复,否则会对后来的程序产生影响。

5:CICS提供的一些API函数供调用,但相对来说比较复杂,而easycics便是对这些复杂的API封装后的结晶。使得CICS现在仍有一小部分的市场。

得知以上几点CICS的性质后,就准备以下的必要的安装软件

1:Txseries Nt 4.3其中包括CICS,和Enina

2:DCE2.2

3:informix client 2.7

4:Txseries和DCE的最新prf(pack)

首先安装DCE2.2 for nt,但在安装的过程中总是报netbios interface must be install,起初以为是杀毒软件的问题。于是卸载了杀毒软件。还是不行,又去IBM网站上查看关于CICS FOR NT 的文档,说在安装前要先安装NETBIOS服务。(这个是NT操作系统下的操作),于是在2000下将所有的协议,服务都安装上去了发理还是不行。历经几天的查找,最后在IBM网站的一个文档中找到了解决的方法。原来是要先设置环境变量先。设置如下 DCEKitDebug=-NoChecks COPYCMD=/Y。搞定后安装Txseries,然后再打上PACK,安装就基本结束。

接下了需要做的是配置CICS。

安装的详细说明
1:安装DCE2.2之后重启。
2:再安装TXSERIES4.3其中在安装过程中后报一个错误不用理会,按OK继续,重启。
3:打补丁顺序依次为DCE,CICS,ENCINA重启N次。
4:创建DCE:
cicscp -v create dce -R

创建SFS_Server:
cicscp -v create sfs_server /.:/cics/sfs/MARS

启动SFS_Server:
cicscp -v start sfs_server /.:/cics/sfs/MARS
注:第一次启动时后报无法访问类 ssd 的运行时数据库节文件没关系。

创建区域(region):
cicsdefault -r Test -S
cicsupdate -c rd -r Test DefaultFileServer=/.:/cics/sfs/MARS
cicscp -v start region Test StartType=cold
请注意大小写,参数是区分大小写的。用cicstail -r Test查看日志,如果有

CICS已成功启动则说明非XA的CICS安装成功。TXSERIES管理界面上的状态有时

候不准确。
5:创建XA连接的CICS。
XA连接的CICS是指在CICS启动子进程时就连接数据并启动一个事务。为编写中间层程序减少

了一定的工作量。CICS是通过开关装入文件(switch load file)按约定好的接口调用以达到连接数

据库的目的。所以如何生成switch load file 是最重要的环节。在CICS目录的scr/example下有db2,

oracle生成开关装入文件的源代码,编译的时候只需注意一下路径就行了。下面举的例子是如何

生成informix的开关装入文件。
a:首先安装informix client和encina的开发包。
b:再查看一下db2的源代码,因为informix和db2都是IBM的产品,想必相似性会非常大。发现源代

码里的内容并不复杂,大体上是提供了几个方法以供CICS调用,于是将db2的源代码拷过来,

然后将框架拷贝过来。根据ESQL的语法将源代码的实现部分替代掉(也可以参数AIX的CICS版本

在CICS目录的src\example\RM_support\Informix下面有inform1pc.ec)。编译的时候需要增加的include

目录为informix/incl/esql,cics/include,encina/include.需要增加的lib目录为informix/lib,cics/lib,encina/lib,

需要增加的引用lib为isqlt09a.lib libcicsrt.lib libEncina.lib regxa_swxa.obj libEncServer.lib。由于开关装入

文件是以DLL形式使用的所以Use run-time library 要选 Multithreaded DLL,即编译选项为/MD。需要注

意的一点是开关装入文件的函数调用方式必须要是__cdecl否则在启动的时候会产生异常。编译的时

候会在struct xa_switch_t noxaswitch 后的那几个函数处报调用类型不匹配的错误。(可能是我的PACK

不够新)这样就要修改encina\include\tmxa\xa.h内的struct xa_switch_t {定义里ENCINA_XA_CALLING的改

为__cdecl。生成成功后将其拷入CICS目录内。

c:在增加的CICS域上增加产品,将开关装入文件加进来,初始化字符串就是在开关装入文件中的

no_xa_open方法的参数,反正能连上数据库就行这里用的是test@ontest。完成后单击永久就OK了,

当然还可以用命令的方式来添加,这里我就不详细描述了。还要配置环增变量,在

var/cics_region/Test/environment下增加两行,INFORMIXSERVER=ontest,INFORMIXDIR=$(INFORMIX)

(客户端的安装路径)。


d:用启动CICS域的命令启动CICS,发现有连接到 'Single Phase Informix',XA OPEN 已完成,并CICS启动

成功则说明已成功建立XA的CICS连接的域了。

欢迎共同学习chaozhiping1亿唐邮箱 晁智平。

CICS概述(转)

转自http://sse0308.blog.sohu.com/9351604.html

1、CICS(Customer Information Control System)客户信息控制系统使IBM公司的联机事务管理系统。 事物包含四个属性,即ACID属性:原子性(Atomicity)、一致性(Consistency)、孤立性(Isolation)、持久性(Durability).

2、CICS家族之所以强大,是因为:

1)它具有商务级事务管理器要求的整合性、可恢复性、安全性和可用性,是个强有力的联机事务处理管理系统;
2)CICS提供跨平台的API,形成可移植的应用和开发技术;
3)它跨平台的广泛的可操作性,即它的跨系统通信ISC(Intersystem Communication)能力。

3、CICS事务处理过程
既然CICS是OLTP系统,它应该是面向终端的系统。那么CICS是如何处理事务的?它应该包含如下三步:
(1) 提交事务交给CICS;
(2) 处理工作;
(3) 当工作完成后终止和清除。

绝大多数事务是从终端进入cIcs的。当一个事务从终端进入门Cs,CIcs初始化一个任
务(Task)来处理该消息,并且创建用于表示该任务的控制块。基于已有的在该clcs区域的资
源定义,clcs确定该事务所用的程序,并将该程序装载于内存。而程序中的EXEc cICs命令
则是要求服务。还可以通过其他途径来初始化任务,但终端输入是最普通的一“种。
clcs是通常作用的事务管理系统,具有终端管理、任务管理、安全管理、程序管理、文件管
理、队列管理、恢复管理和系统服务(如存贮、时间、APl)等管理功能。
CICS任务处理过程如下:
假如用户从终端输入或从菜单选择事务INQY,INQY的事务程序为PROGl终端管理,
则请求创建一个任务(船sk)来处理该事务》
(1)任务管理确定事务的ID是否在CIC5区域中定义,如果否,发出错误信息。
(2)如果事务ID已定义,任务管理请求存贮并且创建表示任务的控制块。
(3)如果事务ID是被安全保护的,cICS验证用户的使用权限。
(4)该任务需要运行应用程序,事务定义中应该包含要执行的第一个程序名PROGI。
(5)在程序定义表中找所要运行的应用程序阳OGl的定义(其定义指明了该程序的实
现语言)。如果程序PROGl不在内存,程序管理则申请内存将其从程序库装入内存。
(6)CICS复制该程序PROGl的工作存储区到与该任务(ta5k)相关的另一存储区。允许
PROGl的单独程序副本被多任务共享。
(7)EU(EXEC Interface Progfam)接受程序请求并且返回异常条件和其他EIB(ExEC
Interface Block)信.富,
(8)如果执行程序prog1发出EXECCIC5READ命令来读文件,文件管理则对VSAM
发出读iZ录的请求。
(9)应用程序常常利用基本映原支持(BM5)来发出已格式化数据到终端。
(10)对V5八M数据集的改变,会被建立日志以便失败时恢复。
(11)当任务结束时,控制返回给clcs。所有与该任务相关的存储被释放
内存,直到无任何任务使用它和该空间要使用为止。

4、编程接口
1) 开发语言
与编写其他程序一样,可用COBOI、C、C十十、Assembler、PL/l来编写CICS的应用程序
其中大部分处理逻辑用标准语句编写,一部分功能要用到CICs的命令。
2) 命令格式
 (1)举例如下: 
EXEC CICS SEND FROM (MSG-AREA) LENGTH (5) END-EXEC
关链字 功能 选项 参数 选项 参数 分隔符
以上命令是向终端发送长度为5的MsG—AREA信息。
 (2)读和修改vsAM文件的命令为:
EXEC CIC5 READ FILE ('FILEA') INTO (CUSTOMER—REC) RIDFLD (CUSTOMzR—NUM)

1.7. 输入和输出

1.7. 输入和输出

软件环境真正科学的环境以某些场合下某些人(譬如,不是什么委员会员)提出一个概念上简单但是内涵却丰富的见解而趋向快速且深刻的发展。UNIX的输入输出规则就包含属于这种见解,它属于类似LISP语言的一流创新,以及关系数据模型和面向对象程序。

UNIX I/O规则是建立在两个出色的简单见解上。首先,文件I/O采取任意长度和排列字符的形式。与之相对的是,一些陈旧的过时的文件系统复杂的I/O规则(譬如,“block”,“record”,“card image”等等。)。其次,所有在系统中的物品或接受的数据都处理为一个文件;这包括如磁盘和终端的硬件设备。陈旧的文件因设备而不同。以上两种意见使系统programmers’非常舒适。

1.7.1. 标准 I/O

根据约定,UNIX程序都有一个称为标准输入的方式接受输入,一个称为标准输出的方式输出,以及一个称为标准错误(standard error output, usually shortened to standard error)输出的方式输出错误信息。当然程序可以有更好的方式输入输出方式,详见Chapter 7

标准I/O是为终端用户首个拥有明确设计的规则,而非通常使用的涉及打孔机的旧风格。正因为UNIX shell提供了用户接口,所以shell能设计的和标准I/O非常完美的结合也就不足为奇。

所以的Shell掌控标准I/O的基本方法都是同样的。每个您在终端或者工作站调用的程序都有三个基本I/O通道,标准输入是您的键盘,标准输出或错误使您的屏幕或者窗口。譬如,mail工具在标准输出上显示您的消息,而且当您使用它发消息给其他用户时,它从标准输入上接受您的输入。这意味这您在显示器上查看消息并在使用您的键盘输入新的消息。

若是有必要,您可以重定向输入和输出或是用一个文件来代替。若是您想要发送某人一份内容为已存在文件的邮件,您可以重定向邮件的标准输入使它可以读入文件来代替您的键盘。

您还可以使用通道符连接程序,使用一个程序的标准输出直接定向到另一个程序的标准输入;譬如,您可以使用邮件的输出定向到lp程序以便消息可以替代显示在显示器上而打印出来。

这使得使用UNIX工具创建模块或者大程序成为可能。很多UNIX有用程序使用这种方法:他们分别从输入文本过滤操作中得到特别类型的输入来执行。虽然这不是UNIX工具的规范,但他是shell使用的生产力。比较流行的过滤工具在Table 1-5列出。

Table 1-5. 流行的 UNIX 数据过滤工具

工具

意图

cat

拷贝输入到输出

grep

从输入中搜索字符串

sort

将输入按行排列

cut

从输入中取出一列

sed

Perform editing operations on input(在输入中完成编辑操作)

tr

Translate characters in the input to other characters(转换输入字符到另一个字符集)

您也许使用过这些工具或者注意到他们可以使用输入文件的名称作为参数且在标准输出上产生输出。您可能不知道,不管如何,所有这些工具(包括其他UNIX工具)若是您忽略参数便接受从标准输入的输入。[13]

[13] 若是特别的UNIX工具不接受您使用文件名参数的标准输入,试着使用减号(-)作为参数。一些UNIX系统提供标准出入为文件,所以您可以试着提供文件/dev/stdin作为输入文件参数。

譬如,最基础的使用是cat,一个简单拷贝输入到输出的工具。若是您输入cat跟随文件名参数,它会在您屏幕上打印出文件内容。但是若是您没用参数的调用它,它会等待标准输入且拷贝其内容到标准输出上。尝试下:cat会等待您输入一行的文本;当您输入回车,cat会返回您重复文本。停止这个过程,在一行的开始点击CTRL-D。当您输入CTRL-D您会看到^D。以下为可能看到的内容:

$ cat
Here is a line of text.
Here is a line of text.
This is another line of text.
This is another line of text.
^D
$ 

1.7.2. I/O Redirection(I/O重定向)

cat是英文单词连接(catenate的简写,也就是连接起来。它接受多个文件名参数且拷贝他们到标准输出。但是让我们现在假装,cat和其他工具不接受文件名参数而只接受标准输入。正如我们上面所说,shell使您重定向标准输入为一个文件。符号 < 文件名 达到此效果;它设置事务在终端由文件替代标准输入。

譬如,若是您有一个文件叫cheshire包含了写文本内容,那么cat <>会显示cheshire的内容到您的终端上。sort <>会以行排列cheshire文件的内容并显示到您的终端上(记住:我们假装这些工具不接受文件名参数。)

同样的,命令 > 文件名 导致命令的标准输出重定向到命名的文件上。著名的“标准”例子是date > now date命令打印出当前的日期和时间到标准输出上;先前的命令保存输出到一个称为now的文件上。

输入和输出重定向可以组合起来。譬如:命令cp是通常用来拷贝文件;若是因为一些原因它不存在或者出错,您可以使用cat来完成:

$ cat <  file1  >  file2 

这与cp file1 file2相似。

1.7.3. Pipelines(通道行)

将命令重定向输出为另外命令的替代文件的标准输入也是可能的。这种概念叫做通道(pipe),符号为|。命令行包含由通道联系的两个或更多命令叫做通道行。

通道经常使用在more命令中,这个命令除了会一屏一屏的显示输出外和cat很相像,它暂停以等带用户输入,SPACE(下一屏),RETURN(下一行),或者其他命令。若是您在一个有很多文件的目录下,想要详细的看到他们,ls –l |more会每次为您显示详细的清单。

通道行(Pipelines)可以非常复杂,并且他们可以与其他的I/O定向符整合。每次想要在一屏下排列文件cheshire清单,输入sort <>。想要打印这些来代替您终端上的显示,输入sort <>。

这有很多复杂的例子。文件/etc/passwd储存了UNIX系统中关于用户的信息。此文件每一行包含用户的登陆名(login name,用户标识(user ID number,加密密码,主目录,登陆shell,和其他信息。每一行的第一部分是登陆名;每部分由冒号(:)来区分。这一行犹如:

cam:LM1c7GhNesD4GhF3iEHrH4FeCKB/:501:100:Cameron Newham:/home/cam:/bin/bash

要得到所有用户的排列清单,输入:

$ cut -d: -f1 < /etc/passwd | sort

(实际上,您可以忽略<,因为cut接受文件名参数。)这个cut命令从输入分离出首个由冒号分离(-d:)的部分(-f1)。全部的通道行会像如下这样显示:

adm
bin
cam
daemon
davidqc
ftp
games
gonzo
...


若是您像发送这些清单定向到打印机(代替您的屏幕),你可以像这样扩充通道行:

$ cut -d: -f1 < /etc/passwd | sort | lp

现在您会明白I/O定向和通道行如何支持UNIX建立模块理论。这些符号是非常简单和且强大。最重要的是,通道概念排除了用来为其它命令保存输出所需要的凌乱临时文件。

譬如,为了在其它操作系统(assuming that equivalent utilities are available...)命令行上做于同样的排列事情,你需要三个命令。在DECVAX/VMS系统上,他们显示类似这样:

$ cut [etc]passwd /d=":" /f=1 /out=temp1
$ sort temp1 /out=temp2
$ print temp2
$ delete temp1 temp2

经过充分的实践,您会发现您自己可以熟练输入强大的通道行命令,在一行内可以包括多个命令(以及临时文件)来完成系统操作。

2006年12月6日星期三

希望

拥有希望,即使在夕阳中也可以看见明天的太阳!!!

机会

最近接触的东西越来越多了,多的自己觉得有点恐怖从以前的Domino、Sametime、.Doc 到Workplace、portal、websphere到DB2、AIX、AS400到ClearCase、ClearQuest、tiovli到现在竟然要看CICS。呼呼,IBM的产品线几乎都接触了。
可惜没有一个产品我能站这说这个简单,我是专家。我差的就是这个。希望去了XXX后能有一天我可以首先从自己认为我掌握了一个方向。
这次去XXX的机会真是想都没有想到。在等待的这几周里我甚至有时候想,不会是我有高度犹豫症,人家没有打电话来,是我自己虚构的吧。
一直期盼的机会来了,但是能不能把握住还要看自己了。
千万别再像大学一样,让我后悔一辈子!!!
加油!战胜自己!

2006年12月1日星期五

联拓两年纪念日

来联拓两年了,除了这几个月极度不配合,不工作以外~其它的日子还算是学习的日子,留言以记录吧~

2006年11月30日星期四

物以类聚,人以群居

以前在新疆最讨厌最不喜欢的就是维吾尔人,总是嫌弃他们,觉得他们过于团结,总是欺负人。
现在出了新疆在成都上了大学又来到了广州工作,终于感触到了一句话:物以类聚,人以群居。谬也!!!
当我们面对小日本面对美国人,我们都会站起来说:我们是中国人,我们是中华民族。
那么我们在国内怎么说呢?
注意下新闻吧,抓住逃犯了,会说籍贯那里那里人;抓住小偷,会说是那里那里人;遇到骗子了那是那里那里人;反正总是有人做坏事的,人总要呆在一个地方吧,于是各个地方你不服我我不服你,没几个省(自治区)没有坏名声的,只是传的广不广的问题了。
说出我觉得最广的几个地方吧:新疆,河南,东北,上海,北京....
咱是新疆出来的就拿着新疆说事吧,呵呵。也算是人以群居吧
新疆人?那是贼多,好像新疆人从来就是偷钱的,偷钱的人从来就是新疆来的。这新疆人,可就复杂了。若是您老没去过新疆没有了解新疆可千万别再觉得新疆人就是小偷。
中间插一句话,我一前朋友。本来关系还行,一日电话带来:“你狗日的,还在广州呢?”我纳闷,怎么这么说话呢?虽说流行就是这样,越亲切越骂你,但还是觉得别扭,含含糊糊嗯了一声:“咋了?”。“妈了个X的,你们这些新疆人把我钱包偷走了,我们湖南那里据说搞了个清除新疆人的活动...你在还赖在广州呢?”....后面的对话咱不说了,反正我特不爽,最后一句话,我有事回头在说。挂机,立马上网,消除此人的QQ号,msn号,email也列为拒收,电话倒是留着,免得以后他打过来我接了。
此人,湖南人。但是他不太清楚两件事。其一,我是新疆人,但我和广大中国人民一样,和普通的新疆人一样最讨厌小偷。其二,新疆人其实不仅仅是维吾尔民族,也不仅仅是他所了解的那样,实际上新疆本身本身就是个民族大熔炉,来自祖国四面八方的人积聚而成。其中湘人也占新疆人的很大部分,而且是基础部分,为什么?当年曾国藩带去多少湘兵?去查查新疆历史,这湘女下天山也带去不少湖南人。其他地方的就不说了,从新疆来的朋友都清楚,小时候上学填籍贯,那可是天南地北,只有不知道的地方,没有说少了那个省的。再加上此人口语猥琐,决定不交此朋友也罢。
说回来,这些在街上偷东西的人,还真有很多是新疆人。一眼看上去,就知道。问题也就在这里了,真正是一只老鼠害一锅汤,每个地区就这么一帮子。偷东西就和葛优说得一样:一点技术含量都没有!就是跟在后面摸。从此,谁都知道这群新疆人是小偷。长此以往,丢了东西。得,就是这些新疆人干得!!!
看明白了么?其实大家心里都明白,别老是地域区分人,但是做起来,你一句我一句,变味了。
还是那句话,中华上下五千年的历史。多少民族诞生和消亡?多少人远嫁他方?多少人背景离乡?为什么叫华夏儿女,为什么叫中华民族。因为没有人能说清楚自己的祖先生长在哪里。
孰好孰恶,勿以籍谬之,勿以己观之,但求好恶而勿求类也!

firefox常用插件

要走了,什么都记录下,免得大意忘了记录就惨了
add Bookmark here
all-in-One Gestures
Compact Menu
fasterfox
FlashGot
GUtil
NoScript
Forecastfox
DownThemAll!
Gmail Space
Html_vaildator
Scrapbook
fireftp
Scrollbar Anywhere

使用Sametime自我注册功能

注:此处sametime是6.5以前的,以后的未测试过。
Sametime包括一个自我注册的功能。这个功能容许任何可以使用Web访问Sametime的匿名用户在Sametime服务器的Domino目录上创建个人文档(即自我注册)。这包括:用户名称、中间名、姓、Internet密码及其他企业、邮件的相关信息。

Sametime为用户使用Sametime提供简单的用户注册平台来访问Domino目录。但是通常情况下Sametime自我注册功能在Sametime服务安装好后,默认不可使用。这是因为Domino本身包含另一相同的功能。当管理员容许自我注册功能好要注意匿名用户可以在Domino目录中创建文档的相关关联性安全。


要容许自我注册功能,要完成以下三点。


a.在Web浏览器上打开Sametime主页(stcenter.nsf)单击管理服务器后输入用户和密码。
b.选择Domino目录——Domino。
c.选中“容许用户注册在Domino目录”。
d.点击“更新”后,必须重启Sametime服务后才能生效。


Sametime自我注册功能是建立在domino streg.nsf数据库上的代理中。要使用这个功能,代理必需能够访问Domino目录,并且能够创建和更改个人文档。这个代理的默认签名是:“Sametime Development/Lotus Notes Companion Products”,使代理能够访问Domino目录需要:
a.添加“Sametime Development/Lotus Notes Companion Products”到Domino目录(names.nsf)ACL中
b.为“Sametime Development/Lotus Notes Companion Products”提供以下访问权限和角色:
用户类型:未指派
权限:作者(或以上)
角色:[GreateCreator],[GroupModifier],[UserCreator],[UserModifier]
c.确保ACL中“创建文档”权限已选择。

此外:管理员可以为streg.nsf的代理签名为其他已认证的名称。然后为其提供以上权限。


a.在domino目录中(names.nsf)的ACL中将“Anonymous”设置为“不能存取者”。这个设置防止其他非真实的用户访问数据库。
b.在domino目录中(names.nsf)的ACL中将默认(Default)设为“不能存取者”。这将保护用户的一些注册隐私。此处默认的设置为“读者”,设置为不能存取禁止用户查看Domino目录中的用户名。

联拓无聊会议后感

我就知道自小麦被fire了以后,早晚就会轮到我。只是我的利用价值和我拿到的工资相比还大些,也就是通常所说的性价比大些。再加上去云南的事没有找到我所以在这次杀鸡给猴看的辞退事件中我还只能是猴子,也可能是猴王(最反叛的那个)。
但是从猴子转变为鸡也是有可能的,最主要的是公司老总的权力意识,管理意识,总不能老看着一个不服从的人搞乱整个队伍吧。早晚一天会清除我的。这儿不知道是好事还是坏事...
我一直搞不懂我现在这种状况到底是自己的问题还是公司的问题,也许兼而有之。但是不管怎么样我还是认为即便是兼而有之,我的问题也是公司的种种不合理制度引出来的。
不去多记录了,留下点点的记忆,以后慢慢审视吧。对和错以后的我才能辩解,现在我还在其中,无法正确地看待联拓的问题。

我在公司的“四不一没有”

先来看看大便的四不一没有:"不会宣布‘台湾独立’,不会更改‘国号’,不会推动李登辉的‘两国论’入‘宪’,不会推动改变现状的统独‘公投’,也没有废除‘国统纲领’与‘国统会’的问题"

现在我的四不一没有:“不服从领导,不积极工作,不正面回答问题,不提供信息,也没有准备继续呆下去的意思”
哎,这IBM要是耍我,我就死定了,算了,反正要做好即便IBM不要也要辞职的准备吧,要不真是受不了了。

2006年11月29日星期三

别再说上火

前天一大早就觉得不对劲,在广州的这个天气竟然会觉得冷?而且嗓子也开始疼了。下午下班吃完饭就彻底不行了,但是还是坚持这玩了会儿要塞,然后翻译了一点点learning the bash shell。最后要睡觉了却发现傻B了。终于导致第二天没来上班,不过可能是因为我也不想来公司。
期间老妈过来又是一顿教导,说是穿的衣服太少,老姐都穿棉袜子了,我还一件衬衣,老天爷啊20度的天气让我穿棉袜子,还不热感冒?哎~也习惯了,从小我也就这样,我嘀咕了一下:老妈感冒不是因为天气凉,只是因为我抵抗力差,我的白细胞不够牛。老妈倒也没说什么,直接走了,估计是她不好意思在草妈面前太关心我...
晚上老姐也开始叨叨~,我觉得你这儿都不一定是感冒,说不定是上火了,最近吃了这么多的羊肉。我当时就差点倒下去,我看中医老被人觉得不行就是这种原因。不是中医不行,是好多人误解中医,包括向好的方向误解。
我就纳闷怎么什么都要考虑上火,广州的这种气氛我来了三年一直没有适应过来,老姐老妈倒是适应的极快。来了头一个月几乎天天有苦瓜吃,辣子,葱都看不见了,各式各样的绿色叶子倒是摆上了餐桌,最让人受不了的是好像味道浓厚的东西都是好像会上火的了。
其实我是相信注意饮食会有助于身体的。但是我认为合理的搭配才是真正的“有助”,搭配意味着多样性,不能总是专注单一食品。人之所以从人猿净化成功,很大因素取决于人脑的形成,而人脑的形成是单单靠食入植物无法满足的。所以不要鄙弃肉类性食物,也不要歧视辣椒这类的植物性食物,毕竟他含有多种的维生素。
想起以前看到的一篇报道,说是两个搞化学的夫妇给他们的孩子只喝他们提炼出来的纯净水,结果孩子...这么看来若是这些食物中真的有不好的东西,我们是不是就应该完全的拒绝他呢?平时吃点不也可以当当疫苗么?

2006年11月27日星期一

《Learning The Bash Shell》翻译目录

刚入职,没时间翻译了.....
晕倒,排列方式是按时间的,我总不能从后往前看吧,搞个目录,方便下自己吧。

Chapter 1. bash Basics
1.1.什么是Shell?
1.2. Scope of This Book
1.3. History of UNIX Shells
1.4. 获得 bash
1.5. 交互使用Shell
1.6. 文件
1.7. 输入和输出
1.8. Background Jobs
1.9. Special Characters and Quoting
1.10. Help

Chapter 2. Command-Line Editing
2.1. Enabling Command-Line Editing
2.2. The History List
2.3. emacs Editing Mode
2.4. vi Editing Mode
2.5. The fc Command
2.6. History Expansion
2.7. readline
2.8. Keyboard Habits

Chapter 3. Customizing Your Environment
3.1. The .bash_profile, .bash_logout, and .bashrc Files
3.2. Aliases
3.3. Options
3.4. Shell Variables
3.5. Customization and Subprocesses
3.6. Customization Hints

Chapter 4. Basic Shell Programming
4.1. Shell Scripts and Functions
4.2. Shell Variables
4.3. String Operators
4.4. Command Substitution
4.5. Advanced Examples: pushd and popd

Chapter 5. Flow Control
5.1. if/else
5.2. for
5.3. case
5.4. select
5.5. while and until

Chapter 6. Command-Line Options and Typed Variables
6.1. Command-Line Options
6.2. Typed Variables
6.3. Integer Variables and Arithmetic
6.4. Arrays

Chapter 7. Input/Output and Command-Line Processing
7.1. I/O Redirectors
7.2. String I/O
7.3. Command-Line Processing

Chapter 8. Process Handling
8.1. Process IDs and Job Numbers
8.2. Job Control
8.3. Signals
8.4. trap
8.5. Coroutines
8.6. Subshells
8.7. Process Substitution

Chapter 9. Debugging Shell Programs
9.1. Basic Debugging Aids
9.2. A bash Debugger

Chapter 10. bash Administration
10.1. Installing bash as the Standard Shell
10.2. Environment Customization
10.3. System Security Features

Chapter 11. Shell Scripting
11.1. What's That Do?
11.2. Starting Up
11.3. Potential Problems
11.4. Don't Use bash

Chapter 12. bash for Your System
12.1. Obtaining bash
12.2. Unpacking the Archive
12.3. What's in the Archive
12.4. Who Do I Turn to?

Appendix A. Related Shells
Section A.1. The Bourne Shell
Section A.2. The IEEE 1003.2 POSIX Shell Standard
Section A.3. The Korn Shell
Section A.4. pdksh
Section A.5. zsh
Section A.6. Shell Clones and Unix-like Platforms

Appendix B. Reference Lists
Section B.1. Invocation
Section B.2. Prompt String Customizations
Section B.3. Built-In Commands and Reserved Words
Section B.4. Built-In Shell Variables
Section B.5. Test Operators
Section B.6. set Options
Section B.7. shopt Options
Section B.8. I/O Redirection
Section B.9. emacs Mode Commands
Section B.10. vi Control Mode Commands

Appendix C. Loadable Built-Ins

Appendix D. Programmable Completion

Colophon
Index

1.6. 文件

1.6. 文件

尽管命令的参数不总是文件,但是文件确实UNIX系统中最重要一类型的 “东西”。文件可以包含各种信息,实际上有各种不同类型的文件。从根本上来说最主要有三个类型:

正规文件

同时又称为文本文件;这里面包含可读的字符。举例来说,这本书是几个由人类可以查看的格式及可读的字符正规文件组成。

可运行文件

同时成为程序;这里面包含着命令。有些人们不能直接阅读;还有些—shell脚本(shell scripts)则由特殊的文本组成的文件,这也是我们这本书我们将要介绍的。Shell本身是一个叫做bash的可运行文件(不能直接阅读)。

目录

在其它文件格式里称为文件夹和子目录。These are like folders that contain other files—possibly other directories (called subdirectories).

1.6.1. 目录

让我们回顾下目录最重要的概念。实际上在UNIX系统中所有的文件目录可以按照等级形式包含其它目录,也就是大家所说的树形架构。

Figure 1-2 表现的是目录树的典型,直角长方形代表目录,圆角类方形则代表正规文件。

Figure 1-2. 目录文件的树形架构


在这棵树的顶端的目录称为系统的根目录(但未命名)[6] 。所有文件以他们的位置和根目录相递归的关系命名;这样的命名是以斜杠(/)分隔所有目录的层次列表(相对于根)最后跟随文件名称。 这种方法命名的文件称作全路径名称(或绝对目录)。

[6] 大部分UNIX指南命名根目录为/。我们倾向于选择未命名,因为这样从逻辑符合UNIX文件名命名规则。

举例,说在根目录下home里有目录camcam下有book目录有个文件叫aaix。这个文件的全路径命名是/home/cam/book/aaiw

1.6.1.1 工作目录

当然,使用完全路径命名访问你所需要的指定的文件并不令人舒服。所以有种概念叫做工作目录(有时也称当前目录),指的是你输入任何东西时你所在的目录。若是你输入的路径名称前没有斜杠,那么位置是相对于工作目录的。这种路径名称称为相对路径;你使用它会比使用全路径更加频繁。

当你登录到系统,你的工作目录是初始设置的一个特殊目录叫做你的主(或登录)目录。系统管理员常常使系统将每个人的home目录名设置为和他们的登录名相同,所有的主目录都包含在根目录以下。

举例来说,/home/cam是典型的主目录。若是你现在工作在此目录下并输入命令lp memo,系统会在/home/cam目录中查找memo文件。若是你有一个目录在你的主目录下,它又包含一个文件teatime,你若是要打印它的话使用命令lp hatter/teatime

1.6.1.2 ~Tilde)符号

正如你所预料的,主目录经常出现砸目录中。虽然许多系统组织所有的主目录有一个共同的上一级目录(譬如/home/users,你亦不愿依赖此方法或使用你所知的绝对路径访问某人的主目录。

因此bash拥有简写的方式访问主目录:在用户名前添加一个波浪号~。譬如,你要查阅用户alice的主目录里的story文件是~alice/story。这是一个绝对路径名,所以使用时不用担心你的工作目录。若是此文件在alice主目录有一个子目录adventure中,你可以使用~alice/adventurestory访问。

还有更方便的,一个波浪号代表你自己的主目录。你可以使用~/notes指定在你主目录的notes文件(注意它和~notes的差别,shell会解析~notes指向一个用户叫notes的主目录)。若是notes在你adventure子目录中,你可以用~/adventure/notes。这个符号在你不在主目录时(譬如:在系统目录/tmp)很方便的切换你的工作目录到你的主目录中。

1.6.1.3 修改工作路径

若是你想更改你的工作目录,使用命令cd。若是你不记得你的工作目录,命令pwd会告诉你。

cd携带一个你想成为你工作目录的目录名作为参数。它可以转移当前目录,也可以包含波浪号,或者可以使绝对路径(以斜杠开始)。若是你忽略了参数,cd切换到你的主目录(例,她和cd ~一样)。

Table 1-1 给出了一些cd命令的例子。每个命令假设你运行命令前你的工作目录是/home/cam,你的目录架构如Figure 1-1

Table 1-1. Sample cd commands

命令

新的工作目录

cd book

/home/cam/book

cd book/wonderland

/home/cam/book/wonderland

cd ~/book/wonderland

/home/cam/book/wonderland

cd /usr/lib

/usr/lib

cd ..

/home

cd ../gryphon

/home/gryphon

cd ~gryphon

/home/gryphon


前四个比较易懂。剩下的两个使用了特殊的目录称为..(两个点),意思是“当前目录的父目录”。每一个目录都有一个,它是普遍且含路径到结构中的上一层目录—也被称为父目录。[7]

[7] 每个目录还有一个特殊的目录.(一个点),这个意思是指“当前目录”。因此,cd .不做任何实在的事。 目录的...实际上是特殊隐藏文件分别指向它自己和父目录。

另一个bashcd特性是cd -,无论你现在在何目录都指向你先前所在的目录。举例,若是你开始在/usr/lib,输入无任何参数cd切换到你的主目录,再输入cd -,你会返回到/usr/lib

1.6.2. 文件名,通配符和文件名扩展

有时你需要同时运行超过一个文件。最普通的例子是如命令ls,可以列出文件信息。最简单的形式,没有选项和参数,它会列出所有除了隐藏文件(以.开始命名的文件)外所有的文件名称。

若是你给出文件名参数,他会列出这个文件:譬如你的当前目录有文件duchessqueen,你输入ls duchess queen,系统会简单得打印出文件名。

实际上,ls经常使用选项使它可以列出文件的信息,譬如-llong)选项,这个选项就是使ls列出文件的所有者、大小、何最后修改的时间和其他信息;或者-aall),这个选项会列出隐藏文件。但是有时你会想验证某一类文件但是有不确切知道它的名称;譬如,若是你使用文本编辑器,你会想知道你当前目录有什么文件是以.txt结尾的。

文件名在UNIX中非常重要,shell因此提供了些内置的方法查找不确切文件名的文件。你可以使用特殊的字符(叫做通配符),它们可以在文件名中替代某一部分。Table 1-2 列出基本的通配符。

Table 1-2. 基本通配符

通配符

代替

?

任何单一字符

*

任何字符串

[set]

任何在集合中的字符

[!set]

任何不在集合中的字符


?通配符符合任何单一的字符,所以若是你的目录中包含文件program.c, program.logprogram.o,则表达式program.?匹配program.cprogram.o但是不匹配program.log

星号(*)在通配符使用中功能最大;它匹配任何字符串。在上一段种表达式program.*匹配所有的文件;文本编辑器用户可以使用表达式:*.txt去符合他们的输入文件。[8]

[8] MS-DOSVAX/VMS用户要注意的是点(.)在UNIX文件文件里没有任何特别的(除非以点开始,也就是隐藏文件,那是另外的特征)。譬如,ls *列出当前目录的所有文件,你无须像其他系统一样输入*.*。实际上*.*不会列出所有的文件,只会列出那些名称中间至少有一个点的文件。

Table 1-3 将帮助示范你如何使用*。假定你有文件bobdarlenedaveedfrankfred在你的工作目录。



Table 1-3. 使用*通配符

表达式

替代

fr*

frank fred

*ed

ed fred

b*

bob

*e*

darlene dave ed fred

*r*

darlene frank fred

*

bob darlene dave ed frank fred

d*e

darlene dave

g*

g*


注意*可以代表什么都没有:*ed*e*都符合ed。另外需要注意的是最后一个例子表示当shell不能匹配任何名称时:它将会保持通配符不被改变。

剩下的通配符是组合结构。组合可以是字符的队列(譬如,abc)和可能包含字符的排列(譬如,a-z),或者两者的结合。若是你想包含一段字符,只需要标注开始和结尾的字符。Table 1-4 将更详细的解释。

Table 1-4. Using the set construct wildcards

表达式

替代

[abc]

a, b, c

[.,;]

Period, comma, or semicolon

[-_]

Dash or underscore

[a-c]

a, b, or c

[a-z]

All lowercase letters

[!0-9]

All non-digits

[0-9!]

All digits and exclamation point

[a-zA-Z]

All lower- and uppercase letters

[a-zA-Z0-9_-]

All letters, all digits, underscore, and dash


在最初的通配符例子里,program.[co]program.[a-z]都符合program.cprogram.o,但是不对应program.log

在左括号后的感叹号用来“否定”组合。譬如,[!.;]对应除了句号和分号以外的所有字符;[!a-zA-Z]对应所有除了不是字母以外的字符。对应!自己,则需要放在组合的头一个字符后,或者在他前面放一个反斜杠,如[!]

排列符号非常便捷,但是您最好不要设定太多的符号在排列里。排列符号可以放心的使用诸如大写字母,小写字母,数字,或者其它子排列(譬如[f-g][2-6])。不要期望使用混合字母和标点符号:譬如,[a-Z][A-z]就不能认为包括所有的字母或者其它内容。原因是排列在不同种类的计算机上没有完全的统一。[9]

[9] 明确的说是,排列以您计算机使用的字符编码配置(普通为ASCII,但是IBM大型机使用EBCDIC)和字符所配置当前场所(在非英语环境里排列未必输出期望的值)所决定。

包含通配符表达式对应到文件名的过程叫通配符表达式或者globbing。读取和处理命令行只是shell几个处理中的一步;其他有诸如我们已经看见的发音符表达式(tilde expansion),也就是在应用中代替主目录(home directories)的表达式。我们将在后面的章节中看到其他的,详细的过程会在Chapter 7中列举。

不管怎样,重要的是您要了解您所运行的命令只是接受了通配符表达式的结果。这意味这,它们不能知道这些参数会变成什么。譬如,若是你输入ls fr*并且您的文件是与前几页提到的目录一样,那么shell解释出命令行为ls fred frank并且调用命令有参数fredfrankls命令。若是您输入ls g*,那么(由于没有匹配内容)g*会被按照文字字符串传递给ls且报出错误信息:g*:No such file or directory.[10]

[10] C shell的通配符机制下,这里的反映不同,C shell会报出错误信息但是根本不运行。

这里有些例子可以帮助我们理解清楚些。假设您是个C程序员。那么您一定了解后缀为.c(程序源文件),.h(程序的头文件)以及.o(不可读的目标代码)。若是您像列出您工作目录下的所有的源文件,目标文件和头文件。ls *.[cho]可以做到。Shell解释*.[cho]将所有那些后部分结尾ch或者o的结果列表座位参数传递给ls。换句话说,ls会得到文件名称犹如他们是被一个个的输入――但是注意无论怎样我们还不知道文件的名称!我们由通配符去做到这点。

到目前为止通配符例子实际在一般概念中称为文件名扩展。The wildcard examples that we have seen so far are actually part of a more general concept called pathname expansion.)正如在当前目录下使用通配符一样,他们同样可以用来表示文件名全称,包含全部路径。譬如,若是您像列出所有在目录/usr/usr2目录下的文件,您可以输入ls /usr*。若是您只对这些目录下以be开始的文件感兴趣,您可以输入ls /usr*/[be]*去列出他们。

1.6.3. Brace Expansion(大括号表达式)

和文件名扩展的概念紧密相关的是大括号表达式。然而文件名扩展通配符扩展结果为实际存在的文件和目录,大括号表达式则为任意被给予的字符串:以一个选项的开始,存在大括号之间并跟随逗号,且以一个选项结束。若是您输入echo b{ed,olt,ar}s,您会看见如下单词:bedsboltsbars。每个字符串实例由开始选项b和结尾选项s结合包含在大括号里字符串构成。注意这里不存在文件名――字符串无关于文件名。这里我们还可以将大括号作为容器,譬如b{ar{d,n,k},ed}s。这会解释为bardsbarnsbarksbeds

您还可以一些稍微不同的大括号表达式创建连续的字母和数字。若是您输入echo {2..5}您会得到解释为2 3 4 5。输入echo {d..h}结果则是d e f g h[11]

[11] 这个大括号表达式功能在bash Version 3.0之前不能使用。

大括号表达式中也可以使用通配符表达式。在前面提到列出源码,目标文件和头文件的例子里,我们还可以输入ls *.{c,h,o}[12]

[12] C shell里此处稍微有些差异。要完成解释Bash需要至少一个逗号;否则,单词将不转换。譬如,b{o}lt意味着就是b{o}lt

我是小偷???

上周五,一下班就立马拿起包,冲到电梯口然后就是小跑着跑到78路车站。对于公司我现在是一时也不想多呆。但是后来发生的事让我后悔这么早出来......
周五回家的人估计都像我我这么积极,公车是越挤越满,到最后我要下车时,连下车的后门都挤的下不去了,一路“借过”,“谢谢”,“麻烦能换一下”...终于蹭到了后门口,当我看见那熟悉的地面时,我就感觉有一束光明照耀进来,那哪里是公车后门啊。当时在我眼里就是天堂的大门,他许许的打开。而我,这个在地狱炼狱中的人,好像触摸到了上帝伸出的手臂;看到了如来的笑脸;听到了真主的召唤。我兴奋,我快乐,我发狂...一个声音在对我说:“你自由了”。我真想像《勇敢地心》中的主角一样大喊一声“freedom”。
然而“f”还没有发出声,一只手臂横在我的面前,然后转式抓住我的手臂。于是我听到了另一个实实在在的声音:“干什么。”。
“下车啊,老大,不下车,我往这挤干什么?!”我有些不爽的说,现在人真是可笑,这么挤的车我碰你一两下也是无可奈何啊,再说你又不是个娘们,怕什么怕?我当时就这么想。
结果下面的话让我终身难忘:“钱包,把我的钱包还给我!”。
操!操!操!!!!虽然老婆不让我骂人,但是如此情况下我心里照实骂了几下,当然还问候了他的母亲。
但是可惜的就是我这个人太好了。我想,哎,傻B估计什么时候丢了钱包都不知道,现在先忍了吧,咱也别刺激他,慢慢说,这种情况可以理解么。我就说,“我没拿,您搞错了”。注意哦,我说的可是“您”!!!
"唰"公车门关上了,我听到第三个声音--司机的,“要不要报警!”虽然我是被误解的,但是我现在仍然觉得这个司机做的对。
我有些急了,“大哥,要不我把包给你,我们先下去说,我真没拿。”事后我想起这句话,估计这句话也比较像小偷的话吧。
傻X一听到这句话,反而软了。一句话也不说,就是不停的“自摸”。
我都有些发狂了,心里想了各种结果,不是这样我还要去趟派出所吧?哪有这么多时间陪你玩啊。心里一急嘴上就骂开了“你XX,你报不报警,你不报我报。”我心想,老子身份证工作证什么都在身上,满书包装的都可证明我也是一有正当工作的人,借用我女友事后说得话:我鞋都500多,比你钱包的钱多吧~。于是拿起手机--110,心里盘算这怎么给警察说:我是被人误认为是小偷的人,我报警!!!
然而,我妈说过了,人算不如天算~~。
傻X在自摸了一阵后,终于发出了高潮的声音:“我找到了,在包里!对不起啊!”
我当时就蒙了,愣是没反映过来。门一开我就憨憨的下来了。
不对啊,有着么对不起的么,还有这事。我猛得就像冲回去,咬死这人。现在我终于明白了什么叫兽性,就是你失去理智的时候,会用拳头用脚搞定。但是你兽性被召唤出来的时候,就只想咬!!!
很可惜的是,车开走了,我看见车门前一张猥琐的脸傻傻的笑~。这时候你要是我,你就知道怎么会有狙击步枪这种武器了,可惜我也没有。
被误解,我没意见。但是大哥,下次您放钱包的时候,摆脱,求求您了,记住好么!!!

2006年11月24日星期五

1.5. 交互使用Shell

1.5. 交互使用Shell

使用shell的交互功能,就是从登陆开始一直到你注销为止(以输入exit或者输入CTRL-D[5])。在登陆后,你在shell命令行中输入;这些行是以你在终端或工作环境下输入的文本且以回车为结尾的一行。

[5] shell可以被配置为对CTRL-D退出信号无相应。我们推崇这样做,因为CTRL-D 太容易意外触动。查看Chapter 3 中关于此的详细信息。

默认情况下,shell提示符为每个命令提供已美元符号结尾的信息字符,但是你可以通过查看Chapter 3修改所有提示符内容。

1.5.1. 命令、参数和选项

shell命令行由一个或多个单词组成,每个单词由空格或TABs(制表符)区分。每一行的第一单词是命令。其他的(若是有的话)是命令的参数(也叫变量),就是在指明某个命令上如何运行的名称。

举例来说:命令lp myfile由命令lp(打印一个文件)和一个参数myfile组成。lp指定myfile为打印文件的名字。参数一般多为文件名,但是不一定是:在命令mail cammail程序则以cam为要发送到的用户名。

选项是特殊类型的参数用于给命令传递所需运行的特殊信息。选项通常是跟随的简单字母;我们说“通常”是因为它遵守手动快捷的规则。命令lp –h myfile 包含选项-h,它告诉lp不要在打印文件前打印“标题页”(banner page

有时选项是他们自己的参数。譬如lp –d lp1 –h myfile 有两个选项和一个参数。第一个选项是-d lp1,意思是“发送输入到打印机(目的地)教lp1。”第二个选项是和参数是同前一个例子相同的。


1.4. 获得 bash

1.4. 获得 bash

你也许现在已经使用了或未使用bash。你的系统管理员也许聪明的认为不论怎么样他在系统中使用的是“标准”的。你也许甚至不知道还有一个可以使用的shell

当然知道你现在正在使用的shell很简单。登陆到你的系统在提示符中输入echo $SHELL。你会看见回应中包含shcshkshbash分别表示Bourne, C, Korn, bash shell。(There's also a chance that you're using another shell such as tcsh.

若是你还未使用bash且又想使用它,首先你需要查找是否它最简在你的系统中。只需要输入bash。若是你得到一个由一些信息加上美元符号新提示符(譬如:bash3 $,那么一切都正常,输入exit可以返回你平时的shell

若是你得到一个“not found”信息,那么你得系统没有安装它。告诉你的系统管理员或者其他懂得的用户,从而获得非正规途径机会在系统中安装某个版本的bash。若是不行,参阅Chapter 11去找到怎样获得某个版本的bash

当你确定你的系统有bash时,你可以在其他shell中像前面介绍一样输入bash来调用它。However, it's much better to install it as your login shell, i.e., the shell that you get automatically whenever you log in.你可以自行安装。这有为各个UNIX系统所写的使用手册。若是一些功能不能工作(譬如:你输入命令后返回“not found”错误信息或一个空行的相应),你需要停下来拜访你的系统管理员。或者切换到Chapter 12 ,这里我们列出了些简单的方法去切换你的当前shell

你需要找到bash在你系统的什么地方,如:在哪个目录安装它。你可以通过输入whereis bash(特别是你在使用 C shell )找到它的路径;若是他不工作,试试whence bashwhich bash或这个复杂的命令:[3]

[3] 确保你使用正确的引号在以下的命令:’而不是`

grep bash /etc/passwd | awk -F: '{print $7}' | sort -u


你会看见回应中包含/bin/bash/usr/local/bin/bash

bash设置为登陆shell,输入chsh bash-namebash-name就是你用whereis(或类似的命令)返回的值。譬如:

% chsh /usr/local/bin/bash


你会得到一个错误消息说shell错误,或要求输入密码。输入你的密码,然后注销后再次登陆就可以开始使用bash

[4] 考虑到系统安全,只有特定的程序员被容许安装登陆shell