这些奇怪的unix/linux命令名称都是什么意思?

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》里介绍了很多关于它的奇闻异事。

[英文原文:What does {some strange unix command name} stand for? ]
分享这篇文章:

发表评论

电子邮件地址不会被公开。 必填项已用*标注