论坛: UNIX系统 标题: 一些奇怪的 unix 指令名字的由来 复制本贴地址    
作者: group [group]    论坛用户   登录
一些奇怪的 unix 指令名字的由来
(UNIX)

 



    awk = "Aho Weinberger and Kernighan"



 这个语言以作者 Al Aho, Peter Weinberger 和 Brian Kernighan 的
 姓来命名。



    grep = "Global Regular Expression Print"



 grep 源自 ed。用来打印所有符合某 pattern 的指令



 g/re/p



 "re" 代表 regular expression



    fgrep = "Fixed GREP".



 fgrep �o找固定的字符串。"f" 不是代表 "fast" - 事实上, "fgrep 
 foobar *.c" 通常比 "egrep foobar *.c" 来得慢(有点意外吧, 不信
 的话, 自己试试喽)。



 尽管如此,Fgrep 仍然有可取之处,在档案中搜寻字符串的时候,Fgrep 
 能处理的字符串数目较 egrep 多。



    egrep = "Extended GREP"



 egrep 用比 grep 更 fancy 的 regular rexpression。许多人只用 egrep,
        因为它用的 algorithm 比 grep 或 fgrep 用的要好一些, 而且通常是三个
        程序中最快的。



    cat = "CATenate"



 catenate 是一个满暧昧的字,在这里的意思是"把它连成一串", 这就是
 "cat" 这个指令对一个或多个档案所做的处理。



 请不要跟 C/A/T 混淆了,C/A/T 是指计算机辅助排版系统(Computer 
 Aided Typesetter)。



    gecos = "General Electric Comprehensive Operating Supervisor"



 不过,通用电器 (GE) 的大型系统部门卖给 Honeywell 的后, 
        Honeywell 就把 GECOS 的 E 拿掉了。



 目前 Unix 的密码文件里面仍保有 "pw_gecos" 这个字段。这个名字是
 从古早的年代沿用过来的。



 Dennis Ritchie 曾经说过:



     "有时候我们会把印表输出或整批工作丢到 GCOS 机器。密码文件里
            面的 gcos 字段是用来隐藏 $IDENT 卡片上的信息,这样做不够优雅"。



    nroff = "New ROFF"
    troff = "Typesetter new ROFF"



 这些字都是从"roff"衍生的, roff 是重写 Multics 上的 runoff 程序得来
 的 (runoff 的意思就是"印出文件")。



    tee = T



 这是管线工人的术语,代表 T 型的管线分叉器。



    bss = "Block Started by Symbol" (由符号启始的区块)



 Dennis  Ritchie 曾说过:



     这个缩写也许有其它说法,但事实上我们采用这个缩写的本意是 
            "Block Started by Symbol"。它是 FAP 上的伪指令,FAP 
            (Fortran Assembly [-er?] Program) 是指 IBM 704-709-7090-7094 
     这种机型的组译器。这个指令可定义自己的标号,并且预留一定数目
     的字组空间。还有另一个伪指令 BES,是 "Block Ended by 
        Symbol",跟 BSS 指令几乎一样,不同点在于标号是定义在预留字组
     空间尾端的地址 + 1 的地方。在这些机器上,Fortran 的数组是以反
     方向储存,而且数组的索引是从 1 算起。



     这种用法是合理的,因为这跟 UNIX 上标准的程序加载器一样,程序
     码当中并非真的放入这一整块预留空间,而是先用一个数目表示,在
     加载时才真的把所需的预留空间定出来。



    biff = "BIFF"



 这个指令是用来设定当您有新邮件进来时,是否要通知您。这是柏克
 莱大学校园内一只狗的名字。



     我可以确定这个名称的起源,如果您有兴趣的话,Biff 是 Heidi 
     Stettner 养的宠物,想当年 Heidi (还有我,跟 Bill Joy) 都还是 
     UCB 的研究生时,早期的 BSD 版本还在发展中。Biff 受到流连于 
     Evans Halls 这些人的喜爱,也因为它会对前来的邮差吠叫而闻名;因
     此就以 biff 当作指令的名称。
     (这是卡内基美浓大学的 Eric Cooper 证实的)



    rc (像是 ".cshrc" 或 "/etc/rc" 中的 rc 这两个字母) = "RunCom"



 "rc" 源自麻省理工学院在 1965 年发展的 CTSS系统中的 "runcom"。
 Brian Kernighan 与 Dennis Ritchie 告诉 Vicki Brown 说: 



     相关文献写着这么一段话: ‘CTSS 具有从档案中取出一系列命令
     来执行的功能;这功能称为 "run commands" 又称为 "runcom",
     而这种档案称为一个 runcom (a runcom)。‘



     Unix 中的 "rc" 就是这种用法的残迹。



 此外 "rc" 也是Plan 9 操作系统 shell 的名字。



    Perl = "Practical Extraction and Report Language"
    Perl = "Pathologically Eclectic Rubbish Lister"



 Perl是 Larry Wall 所发展的一种相当受欢迎的语言, Perl 在处文字, 
 process,与档案时非常便利,可以说是兼得 shell 与 C 之长。想知道
        更多关于Perl 的讯息,请看 Usenet  newsgroup  comp.lang.perl。



    Don Libes 的 "Life with Unix" 一书里有更多这类的珍闻轶事。



地主 发表时间: 05/10 14:14

回复: xiaojun [xiaojun]   剑客   登录
呵呵,长见识了~~~~~~~

B1层 发表时间: 05/15 15:33

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号