[1692] Man Page

Title Text:For even more info, see blarbl(2)(3) and birb(3ahhaha I’m kidding, just Google it like a normal person.<

Origin:https://xkcd.com/1692/

https://www.explainxkcd.com/wiki/index.php/1692:_Man_Page

这个漫画显示了一个Unix手册页,即一个名为“blerp”的虚构程序的手册页(因此标题)。 Unix手册页旨在提供有关命令用法的简要参考,而不是在许多硬拷贝产品手册中可以找到的教程扩展说明。不幸的是,一些Unix命令往往非常臃肿,并且包含许多可选行为,这些行为通常与命令的原始意图无关,并且可以使用管道和重定向等shell功能更轻松地完成,因此手册页增长以解释所有的功能。这个例子夸大了许多手册页中的模糊和简洁,取笑了这种类型的典型风格。

它遵循手册页的规定格式,包括以下部分:

命令名称:不言自明

概要:有效命令行格式的概要

描述:命令的目的和操作的摘要

选项:所有可用命令行参数的详细说明

另请参见:对相关的其他手册页的引用

错误报告:支持小组的联系方式(如果有)

版权:手册页(不是程序)的所有权和权利状态的详细信息

对于漫画效果,此特定手册页的大部分内容都没有意义,有时不遵循预期的语法。

概要部分应该是一种名为Wirth Syntax Notation的类似于正则表达式的语言,其结构类似于

{&lt;有效替代品列表&gt;},例如blerp {A,B,C}

[&lt;可选元素&gt;],例如blerp [-o [&lt; output file&gt;]]

&lt; something&gt; …含义重复&lt; something&gt;根据需要多次

但是给出的两个概要行没有有效的Wirth语法;它们随机混合对象和句法字符,括号和大括号没有正确嵌套或配对。

“描述”部分提供了一个无用的摘要,几乎可以应用于任何Unix命令。处理输入文件(或管道中其他命令的输出)是Unix shell工具的通用函数,用命令行参数,环境变量和标志指定它们的行为。文本留给读者想象的程序实际上做了什么,以及各种选项修改的行为,这为幽默的可能性提供了最大的空间。

选项按常规字母顺序排列,只是小写字母放在大写字母之前,而em-dash插在b和c之间。

命令行选项(也称为标志)在程序名称后面输入,以更改程序的运行方式。例如,blerp的用户可能会键入:

blerp -a -d -t -p“AVIGNON”

根据手册页,这将在攻击模式下运行blerp,将其输出连接到DEBUG.EXE,滚动干燥,真正的Pope设置为“AVIGNON”。在大多数情况下,任何数量的标志都可以按任何顺序使用,标志后面可以跟参数(例如本例中的“AVIGNON”)。

有关所有可能标志的演练,请参阅下面的标志表。

在旗帜下面还有一个列表,其中包含其他可笑的程序名称(blirb,blarb和blorp),每个名称后跟一个括号中的数字。这是在Unix环境中引用命令的常用方法,其中数字表示程序所在的文档部分。这用于消除具有相同名称的手册页的歧义,在本例中为blerp命令的那些(第1部分, “常规命令”)和blerp()C库函数(第3节“C库函数”)。

不知道这个漫画中的手册所在的部分是什么。看起来它可能出现在第1部分“一般的commans”中,这将使它自我指涉。部分编号最多只能达到8,因此blarb(51)不是有效的部分编号。最后一个blorp(501)(c)(3)也不是有效的部分编号,但它是对501(c)(3)的略微隐蔽的引用,这是一个免税的组织。

然后是bug报告网站。 www.inaturalist.org是一个致力于扩展生物学研究的网站,确切的地址,http://www.inaturalist.org/taxa/47744-Hemiptera,指向与http://www.inaturalist相同的页面。组织/类群/半翅目。半翅目是对真正的错误进行分类的顺序,使它成为报告运行程序时发现的任何生物错误的好地方(就像没有使用-b的蜜蜂一样。)昆虫进入一些早期的计算机,导致它们发生故障,从而导致计算机故障通常被称为“错误”。最后,有一个“版权”系列引用了几个不同的开源内容许可证,这是xkcd上的一个反复出现的主题(参见225:开源)。例如,GPL引用GNU通用公共许可证,(2)和(3+)引用GPL 2和GPL 3或更高版本。 CC指的是创意公共区域,其中BY是许可证类型,5.0是指归属,RV 41.0是指版本41.0。然而,在这部漫画发行时,没有比4.0高的归属。 xkcd在CC BY-NC 2.5下发布,可以在xkcd主页的底部看到。一些漫画已根据CC-BY-SA许可证或3.0发布。 BSD是指BSD许可证,是xkcd中另一个反复出现的主题。 “Like Gecko”是对Web浏览器用户代理字符串的引用;现代用户代理字符串包含许多旨在允许浏览器伪装成不同浏览器/渲染器的文本,并且“(如Gecko)”是浏览器的标准文本,希望在承认时将其视为Gecko,如果你仔细看,它不是真的Gecko。此版权行包含许多可能与多个不同许可证中的任何一个匹配的拼接文本,类似于用户代理字符串。

“或者最好的报价”通常出现在私人出售的通知中,其中宣称有意灵活地要价以期加快销售,并建议卖方将出售给出价最高者,即使报价远不及要价。在漫画的背景下,它表明该计划的权利可供任何提供“最佳”报价的人购买。由于列出的其他许可证允许免费使用而不产生任何版税,因此购买此程序的权利毫无意义。但是可以撤销其他许可证。也许该节目的创作者暗示可以将权利赋予某人,使他成为一种不同的提议,可能是浪漫或性的?

在标题文本中有一个包含更多信息的列表,再次使用像blarbl和birb这样的愚蠢名称。还有部分编号。在撰写关于birb的文章时,并没有费心关闭(3)左右的括号,作者嘲笑读者,告诉他们他在开玩笑,并建议他们只是Google就像一个普通人。这意味着,任何试图通过手册页找出程序所做的事情的人都会走得很远,当谷歌告诉你更简单的时候。

手册页是293主题的一部分:RTFM,912:手动覆盖和1343:手册,并在434中提到:xkcd去机场和456:警示。

标志表[编辑]

有28面旗帜。

仅使用这五个字母:l,m,w,x,z。

j和k一起用作jk。

使用以下七个大写字母:D,I,O,R,S,U,V。

这使得它成为每个小写字母的一个大写字母,而不是单独使用。

最后,em破折号“鈥”被用作唯一的非字母字符。也是唯一打破列表严格字母排序的字符,小写字母大小写。

描述

说明

 -一个

攻击模式

这听起来像是机器人或类似东西的命令。奇怪的是命令行程序。可能这是为了破坏某些东西?听起来好像你必须真正知道你正在做什么来使用这个选项

 -b

抑制蜂

荒谬的选择。这是一个文字游戏,意思是压制蜜蜂(昆虫)或字母B.可能的含义是,运行没有此标志的程序会以某种方式导致用户被蜜蜂攻击。这也是一个可能的Discworld参考,因为该系列中唯一的经常性计算机Hex的长期存储由蜂箱组成。 (请注意,实际的计算机是在蚂蚁上运行的。)另一种解释是会有烟雾,养蜂人会用它来压制蜜蜂。

  – ?鈥/TD>

标志使用EM DASHES

命令行选项(标志)通常使用连字符(主要在单词中使用的短水平线)。 Em破折号(更长,与字母“m”的长度相同)不能总是很容易地输入命令行界面,因此通过使用此标志调用blerp,您有意为自己制造困难。

这可能是关于许多命令如何接受单个破折号选项的方法,例如-h用于帮助,以及双短划线选项,例如–help也可以提供帮助。在文字处理器中,双短划线( – )通常用较长的短划线(“?”代替,使它们成为同义词。

还暗示了一个悖论,即如果标志使用em破折号,则该标志将无效。

 -C

计算的数量

最有可能没有用,但是blerp的唯一功能,其行为完全定义好,尽管没有迹象表明它是计算重复标志还是只计算不同的标志。

 -d

PIPES输出到DEBUG.EXEDEBUG.EXE是MS-DOS附带的旧16位调试器。在Unix系统上,人们更有可能使用GNU调试器(GDB)。通常通过使用要作为参数调试的程序(或脚本)调用调试器来调用调试器。

在Unix中管道意味着一个程序的输出用作另一个程序的输入。

 -D

弃用

许多程序都包含遗留选项,以避免破坏使用它们的脚本。虽然该选项仍然有效,但文档更改为“已弃用”以阻止进一步使用。最终这些选项通常会被删除。 (但是,鉴于这部漫画的性质,很可能-D一直代表“弃用”。)

 -e

执行某事

模糊。杀戮开关也可能是双关语。

 -F

乐趣模式

考虑到其他一些选择,奇怪而略带不祥。该程序如何知道用户会认为有趣的是什么?也许blerp很有感觉,并且有自己的“乐趣”概念。见-O。

 -G

使用GOOGLE

作为一个实际的程序标志,有点hackjob-ish,但它可能告诉用户使用谷歌找出这个标签的作用。或者,该程序可能实际上使用谷歌功能(例如在线代码库)或甚至只是搜索掩码来实现它应该做的过滤。这是可选的这一事实表明,还有一个不使用Google的“原生”实现。

可能引用标题文本,这可能意味着标题文本告诉用户使用此标志。

 -H

检查是否输入了HALTS

停止问题是从任意计算机程序和输入的描述中确定程序是否将完成运行或继续永久运行的问题。 Alan Turing在1936年证明,不存在解决所有可能的程序输入对的暂停问题的通用算法。停止问题也出现在漫画1266:暂停问题中。

许多Unix和Linux命令保留-h以获取帮助,因此将其用于不同的功能是非标准的。 shutdown命令是一个异常的真实示例:它使用-h使计算机停止。

 -一世

IGNORE CASE(LOWER)

通常,忽略大小写意味着程序将运行而不区分大写和小写。此标志表示blerp将完全忽略所有小写字符,或忽略所有带有下一个标志“-I”的大写字符。或者,它将忽略所有小写字符的情况,但不会忽略大写字母的情况。或者这个选项可能会使程序忽略-i和-I等标志的情况……

 -一世

IGNORE CASE(UPPER)

往上看。也可能将所有文本转换为大写,或仅忽略大写要求

 -JK

开玩笑

Just Kidding的常用首字母缩写,通常不是程序标志!另请注意,Unix命令行选项的标准行为是单个“ – ”后面可以跟多个单字母选项,使-jk等效于-j -k。也许这是对PowerShell编写的许多程序提供的-WhatIf标志的引用。有些UNIX程序在重要的不可逆操作之前提供了“模拟模式”,例如mke2fs的“-n”开关。

 -n

行为没有定义

知道其行为是非确定性的还是随机的,谁会故意运行程序?做这样的事情似乎有可能是险恶的。 (可能的调试/不稳定功能标志。)

 -o

OVERWRITE

标准程序标志,通常意味着程序将覆盖文件而不是在输出数据时创建新文件。但是文本没有说明程序会覆盖什么,它可能是任何东西。可能与-d奇怪地工作。

 -O

相反的一天

奇怪的旗帜,可能是对面日的参考,也许表明它使所有其他旗帜产生与通常相反的效果。如果是这样,会发生很多奇怪的事情,尤其是-b,-e,-f,-jk,-O,-S和-y。

 -p

设置真正的POPE; ACCEPTS“ROME”或“AVIGNON”

这指的是天主教会的历史分裂。在14世纪,教皇简要地从法国阿维尼翁而不是罗马统治。教皇权利于1377年归还罗马后,教会分裂(所谓的西方分裂)并不是每个人都接受了教皇的命令或教皇的权威。这个标志显然允许用户选择一个首选的教皇。 blerp的一个可能的功能请求是允许“PISA”。这是本周第二次提到教皇,上一次是1690年之前的两部漫画:关于教皇性活动的时间跟踪软件。

 -q

静音模式;输出被打印出来,因为它不会出现异常情况

在大多数情况下,程序会将基本信息输出到控制台,并以安静模式运行它将使其运行而不输出任何内容。另一方面,Blerp显然通过音频输出信息,而quiet标志使其像普通程序一样运行。 “STDOUT”是“标准输出”的缩写。

 -r随机论点

毫无意义,可能有害。据推测,随机化采用随机引起另一个行为的任何标志的形式。这可能与-n标志的效果类似。

 -R

在http://*上重新运行

星号(*)通常用作匹配任何字符串的通配符。 “http://*”表示将在互联网上的每个(不安全的)网页上递归运行blerp。可能使这个想要做的有效事情的编程要求是不祥的。

 -s

符号列表中的符号链接

符号链接是一种文件系统功能,允许创建“伪”文件,当访问时会重定向到另一个文件路径。许多命令提供了一个跟随文件系统链接并对实际文件而不是伪指针进行操作的选项;然而,这个选项似乎表明它只会礼貌地假装这样做。

 -S

隐形模式

与-a类似,因为它听起来更像某种机器人的选项。在这种模式下,程序似乎会尝试进行偷偷摸摸的更改,而不会引起任何注意。

 -t

烘干

也许对于在干衣机上运行的程序有用。指的是这些方向。许多衣物在护理说明中标记为“不要干燥”,但这对于程序来说是非常困难的。鉴于其他标志,这可能不像它首次出现那样荒谬。此标志也可以是干运行标志的引用,有时可以使命令行工具进行模拟运行而不对系统进行任何实际修改。

 -u

UTF-8模式;否则对ANSEL的默认

ANSEL是一种古老而模糊的字符编码,早于ASCII。使用ANSEL作为默认设置会很奇怪,并且与大多数现代系统基本上不兼容。相比之下,UTF-8是主流的标准配置。在这方面类似于-q,blerp默认情况下做了非标准的事情。使用不同模式(原件也是UTF-8)的问题显示在1683:数字数据的标题文本中。

 -U

更新(默认:FACEBOOK)

更新通常是指使用较新版本替换旧软件。此处的默认设置建议将状态更新发布到Facebook,从Facebook获取更新或更新Facebook本身。

 -v

VERBOSE; ALIAS找到/-exec cat {}

几乎标准的标志,在普通程序中与-q相反 – 而不是静音输出,它产生更多,通常有助于调试。对于blerp,此标志将替换为打印文件系统树中所有文件内容的命令。但是,它永远不会完成,因为某些设备文件永远不会结束(/dev /urandom包含随机字节)。无论如何,“find”命令缺失\;并且不会运行,而是抱怨发现:缺少`-exec’的参数。

 -V

设置版本号

许多程序都会有一个标志来查看其版本号。此标志改为更改版本号。版本号只应在程序更新时更改(因为它用于区分您所拥有的程序版本),因此手动更改这样的版本号是奇怪的并且可能具有破坏性。

 -y

YIKES

yikes是一种可以表达对不愉快或不良情况的恐惧或同情的感叹词。目前还不清楚这将如何影响该计划。

You May Also Like

[2981] Slingshots

[2980] Lava Lakes

[2979] Sky Alarm

More From Author

[2981] Slingshots

[2980] Lava Lakes

[2979] Sky Alarm

Leave a Reply

Your email address will not be published. Required fields are marked *