只是为了好玩......我倾向于通过一整天寻找偶然的谜题来保持警觉.我喜欢linux的一个原因是它所体现的无与伦比的聪明才智,从优雅的简洁到手册页面的评论.
你能否阐明规定新命令如何命名的不成文规则,或者提供常见命令背后的历史?库存Linux发行版缺少什么基本命令 - 它会做什么,你会说出什么?
例子:
cat
用于链状文件.它已被dog
一些发行版所取代.
ssh
提供了一个安全壳,但它不可能是一个巧合,它只是乞求被读作"ssssshhhhh!"
奖金拼图: 我们的长期客户之一是MCI,他们的送货地址是1101 Summit Ave. 现在,MCI是一家大公司,可能已经选择了任何地址......那么为什么1101呢?令人惊讶的是,我从来没有遇到过知道这个答案的MCI员工......但他们当时没有SO!
编辑:在此之前,失控:请做不是简单地罗列命令!我正在寻找上面斜体字问题的答案.谢谢!
有点开玩笑的答案,但引用自http://www.mindspring.com/~blackhart/requium.html:
我只能想出一个用于创建Unix命令名的算法:想一个好的英文单词来描述你想要做什么,然后想出一个模糊的近似或部分同义词,抛弃所有的元音,任意缩短剩下的东西,然后,最后,作为一个有文化的程序员,可能重新插入一个缺少的元音.
罗马数字中的MCI = 1101 ......直到现在我才点击那个:)
ed = EDitor
ex =延长(编辑)
vi = VIsual(以前的:visual命令)
vim = Vi IMproved
vile = VI和Emacs一样
TECO =文本编辑器和COrrector
Emacs =编辑MACroS(适用于TECO)
grep
来自ed命令,g/re/p或全球搜索正则表达式和打印.
yacc
当然,还有另一个编译器编译器.
perl
是实用提取和报告语言(另见评论).
roff
是一个简单的"径流"收缩(一个类似的系统存在于其他非Unix机器上); troff
是'排列roff'或左右; 我猜这nroff
是'非排版roff'; tbl
是'表'的简单收缩; eqn
是"方程式"的简单收缩; grap
是一个简单的"图形"收缩(为什么有必要放弃'h'对我来说仍然是个谜); pic
可能只是"图片"的简单收缩; refer
是"参考"的简单收缩; 并且chem
是"化学"(或"化学",或......)的简单收缩.
理想情况下,名称很短,(几乎)可以发音,并且(如果你知道这个秘密)至少是半助记符.在某种程度上,这仍然适用于今天.根据作者关心使用的任何基础选择节目名称.
直接回答问题 - 缺少什么命令(并且有一个异想天开的名字)......
$ dribbler -h Usage: dribbler [-hV][-s sleep][-f file][-m message][-o openstr] -V Print version information and exit -f file Write to named file -h Print this help message and exit -m message Write message on each line of output -o openstr Flags passed to fopen() -s sleep Sleep for given interval between writes
这是一个不热心的对应物yes
.相反,尽管yes
可以尽可能快地将输入内容写入输出管道,但却会dribbler
发送一小段信息,足以使接收端的进程保持活跃状态,但不足以淹没系统.
我喜欢的另一个命令是bombard
:
轰炸 - 用信号轰炸正在测试的程序
bombard [-s sig][-rvV][-t mintime][-T maxtime][-i iterations] -- cmd [args ...]
Bombard运行`cmd [args ...]'指定的测试程序,并使其受到一个或多个信号的影响.它可用于对程序的信号处理特性进行随机测试.
'-s'选项指定发送哪个信号; 默认值为SIGINT.'-V'选项打印程序版本号并退出.'-r'选项重复发送信号.'-i'选项指定信号重复的次数; 如果指定了'-r'并且'-i'不是,则默认值为1000.如果未指定'-r'选项,则该标志无效.'-v'选项打印关于每次运行测试程序的结果的详细信息.'-t'选项指定信令之前的最小延迟(以秒为单位); 默认值为0.'-T'选项指定信令之前的最大延迟(以秒为单位).' --
''
如果仅指定'-t',则轰击会在指定时间内休眠,然后向进程发送信号.如果同时指定'-t'和'-T',则轰击会在指定范围内随机休眠一段时间,然后向进程发送信号.
显然,所有时间都取决于内核调度算法的特性.
由于每个页面后面的提示,因此命名了"more"实用程序."less"实用程序是另一个寻呼机应用程序,因此命名为"less is more".
邮寄者有着悠久的时髦名字.榆树是"电子邮件".Pine是首字母缩略词"松树不再是榆树".Balsa意味着重量轻.
不是Linux,而是将多个单体系结构二进制文件粘合到单个多体系结构二进制文件(又称"胖"二进制文件)中的Mac OS X工具称为"lipo".
tac
以反向顺序列出文件,即cat
向后输出.
Unix biff cmd(宣布电子邮件的到来)是根据邮递员到达时有人吠叫的狗命名的.http://en.wikipedia.org/wiki/Biff
可以在The Jargon File中找到许多其他来自计算早期的有趣花絮.http://en.wikipedia.org/wiki/Jargon_File
让我们不要忘记" 不是 "递归命名方案:
松= P INE 我 š ň OT Ë流明(尽管原始作者之一否认了这一点,现在正式的全称是" P INE 我 NTERNET ñ EWS和Ë -mail")
酒= w ^ INE 是 ñ加时赛一Ë mulator
而且当然:
GNU = G NU是N ot U nix(虽然不是命令本身)