只是为了好玩…我倾向于通过一整天寻找偶然的难题保持警觉。 我喜欢linux的其中一件事就是它所体现的无穷无尽的智慧,从优雅的简洁到手册页的评论。
你能说清楚规定新命令如何命名的不成文的规则,或提供一些常见命令背后的历史吗? 什么基本的命令是缺less股票Linux发行版 – 它会做什么,你会怎么说呢?
例子:
cat
用来链接文件。 它已经被一些发行版中的dog
所取代。 ssh
提供了一个安全的shell ,但它不是一个巧合,它只是发音“ssssshhhhh!” 奖金之谜:我们的长期客户之一是MCI,他们的送货地址是1101 Summit Ave。 现在,MCI是一个大公司,可能可以select任何地址…那么为什么1101? 令人惊讶的是,我从来没有遇到过一位知道这个答案的MCI员工……但他们当时并没有这样做!
编辑:在这之前失控:请不要简单地列出命令! 我正在寻找上面斜体问题的答案。 谢谢!
一种笑话的答案,但引用http://www.mindspring.com/~blackhart/requium.html :
我只能想出一个创建Unix命令名的算法:想一个好的英文单词来描述你想做什么,然后想一个不明确的近似或部分同义词,丢弃所有的元音,任意的缩短剩下的部分,最后,作为一个有文化程序员的人,可能会重新插入一个缺失的元音。
MCI = 1101罗马人数字…我从来没有点击,直到现在:)
vile = VI像Emacs一样
TECO =文本编辑器和COrrector
“more”实用程序是由于每页之后的提示而命名的。 “少”实用程序是另一个寻呼机应用程序,所以命名,因为“少就是多”。
邮寄者有着悠久的时髦名字。 榆木是“电子邮件”。 松是一个首字母缩略词“松树不再是榆树”。 轻木意味着重量轻。
不是Linux,但是将多个单体系结构二进制文件粘合成单个多体系结构二进制文件(也称为“胖”二进制文件)的Mac OS X工具被称为“lipo”。
grep
来自ed命令,g / re / p或全局搜索正则表达式和打印。
当然, yacc
是另一个编译器编译器。
perl
是实用的提取和报告语言(另见评论)。
roff
是“径流”(与其他非Unix机器上类似的系统)的简单收缩; troff
是“typoffting roff”或大约; 我猜nroff
是'非排版roff'; tbl
是“表”的简单收缩; eqn
是“方程”的简单收缩; grap
是一个简单的'graph'收缩(为什么有必要放弃'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
尽可能快地将信息写入输出管道,相反, 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”,那么轰击就会在指定的范围内随机休眠一段时间,然后发送信号给过程。
显然,所有的时机都受到内核调度算法的特性的影响。
tac
以反向行顺序列出文件,即向后输出cat
。
Unix biff cmd(宣布邮件到达)是以某人的狗的名字命名的。 http://en.wikipedia.org/wiki/Biff
The Jargon File中可以找到许多计算机初期的这些有趣的花絮。 http://en.wikipedia.org/wiki/Jargon_File
我们不要忘记“ 不是 ”递归命名方案:
松树= P ine 我不是 电子邮件 (虽然原始作者之一否认这一点,它现在正式代表“电子邮件互联网和电子邮件”)
酒= W ine 不是一个模拟器
而且当然:
zsh是其作者钟绍的登录
GNU的yacc解析器生成器被替换为bison。
在一个相关的说明中,我们最近对tee命令做了一个小改动,把时间标记插入到它的输出中,以便调试一个令人讨厌的问题。 我们称之为新命令? teetime,当然:-)
许多UNIX命令历史上都有短名称,所以在使用慢速传真的那些日子里,很少有必须被输入到终端中,在某种程度上,传统一直停留在今天。
至于MCI的东西,他们有几个地址以1101开头,MCI是1101的罗马数字。
关于mp3编码器的LAME,它代表L ame A in一个M p3 E ncoder 🙂
fsck =文件系统ChecK(注意以前记载的放弃所有元音和尽可能多辅音的规则。
我的经验中最常用的是亵渎 ,我只听到两种不同的发音:“FSCK”(即跛脚)和“F-Suck”(正确)。
awk
以其作者的名字命名:Alfred V. Aho,Peter J. Weinberger和Brian W. coreighan。
我知道那些显然相关的工具。 他们以小块显示文件的内容,因此可以显示在屏幕上。 在这种情况下,少就是多。
由于有人抱怨unix命令上的简短隐藏选项,VMS风格将“选项=模式”longwinded命令设置为“dd”。
pic – 基于文本的图片生成语言前端到troff cip – 读取/生成图片文件的GUI
Blit终端不是贝尔实验室的智能终端,而是来自bitblt操作。 据称经理窗口经理代表“经理”。 当我开始工作的时候,还有一些人把这个动词叫做mung(e) 。
这个婚礼蛋糕问题的答案给了我一个新的见解,这些名字背后的动机究竟是什么。
军事crontab :
# DO NOT EDIT THIS FILE - until death # (/marriage/crontab.XXX installed on Sat Apr 4 11:26:10 2009) # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $) 0 21 * * * unzip; strip; touch; grep; finger; mount; fsck; more; yes; umount; sleep
sed
= s tream ed itor …但我不禁想, 这不是我sed! 巧合?