awk = “Aho Weinberger and Kernighan”
这个命令的名称来自它的作者的名称,分别是 Al Aho, Peter Weinberger 和 Brian Kernighan.
grep = “Global Regular Expression Print”
grep 来自 ed 命令,用来打印输出匹配某个模式的所有数据行。
g/re/p
其中 “re” 是 “regular expression” 也就是正则表达式。
fgrep = “Fixed GREP”.
fgrep 是指只搜索固定的字符串。 这个 “f” 字母并不是代表 “fast” – 事实上,”fgrep foobar *.c” 通常慢于 “egrep foobar *.c” (没错,这很让人意外,不信你试试。)
Fgrep 命令有自己的特长,当一个文件有大量的字符数据,超过了 egrep 的处理能力时,fgrep 就非常有用了。
egrep = “Extended GREP”
egrep 对正则表达式的使用比 grep 更灵活。很多人只使用 egrep。 egrep 比 grep 和 fgrep 具有更复杂的内部算法, 通常也是速度更快的。
cat = “CATenate”
catenate 是一个很晦涩的词,表示”连接成串”,也就是“cat”这个命令对文件的操作。不要和 C/A/T, the Computer Aided Typesetter 弄混了。
gecos = “General Electric Comprehensive Operating Supervisor”
当通用公司的大型系统 division 卖给了 Honeywell 后,Honeywell 把”GECOS”中的“E”给拿掉了。
Unix的password文件里就有一个”pw_gecos”字段。 这个名字就是一个早期的遗留。Dennis Ritchie说:
“有时候我们向GCOS机器发送打印任务或批处理任务。password文件中的gcos字段变成了一个存放$IDENT卡信息的地方。不是很优雅。”
nroff = “New ROFF”
troff = “Typesetter new ROFF”
这些都是”roff”的衍生命令。ROFF是一个重写的 Multics “runoff” 程序,是用来”run off”一个文档。
tee = T
来自一个专业术语,表示T形管道分离器。
bss = “Block Started by Symbol”
Dennis Ritchie 说:
事实上这个缩略词是来自 “Block Started by Symbol.” 是一个在 FAP (Fortran Assembly [-er?] Program)里的伪操作,FAP是 IBM 704-709-7090-7094 上的汇编程序。它给给定的单词定义标签、分配空间。还有另外一个伪操作,BES,”Block Ended by Symbol”,用来完成类似的任务。
biff = “BIFF”
这个命令用来开启异步邮件通知,这个名字实际上来自一只伯克利大学里的狗。
我知道biff的出处——如果你感兴趣听我说。Biff是 Heidi Stettner 的 dog,那时 Heidi (和 I,还有 Bill Joy) 都在伯克利大学读研究生,而早期的BSD系统就是那个时候开发的。 Biff在那里很受欢迎,大家都知道它会对着邮递员叫,于是就用它的名字命名了这个命令。
rc (as in “.cshrc” or “/etc/rc”) = “RunCom”
“rc” 来自于”runcom”,出自 MIT CTSS system, ca. 1965.
‘有一个工具程序,它能够运行存储在一个文件里的一系列命令,它叫做 “runcom” 意思就是 “run
commands”,这文件也就开始称作 “a runcom.”
Brian Kernighan & Dennis Ritchie 对 Vicki Brown 说过:
在新 Plan 9 操作系统里,rs 也是shell的名称。
Perl = “Practical Extraction and Report Language”
Perl = “Pathologically Eclectic Rubbish Lister”
Perl是高阶、通用、解释型、动态的程序语言家族。最初设计者拉里·沃尔为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表。
Don Libes的书《Life with Unix》里介绍了很多关于它的奇闻异事。
网友评论