热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

unix精彩问答

unix精彩问答- 之一:这篇文章以下问题的解答:1.1)谁帮助你将做出这个faq的?1.2)当有人提及rn(1)或ctime(3)的时候,刮弧里的数目意谓什么呢?1.3)一些奇怪
  之一: 这篇文章以下问题的解答:

1.1) 谁帮助你将做出这个 faq 的?
1.2) 当有人提及'rn(1)' 或 'ctime(3)' 的时候,刮弧里的数目意谓什么呢?
1.3) 一些奇怪的 unix 指令名字的由来?
1.4) "comp.unix.questions" 和 "info-unix" mailing list 之间的gateway 是如何运作的?
1.5) 请建议一些有用的 Unix, C 相关书籍.
1.6) 以前在这 FAQ 中的发音表到那去了?


1.1) 谁帮助你将做出这个 faq 的?

这个文件是最初的几个 FAQ 之一, 编纂于 1989 年七月。整个编辑工作几乎都是 Steve Hayman 做的。 我只是接管这份文件的维护。

我们非常感谢 Usenet 读者提出的问题,反应,更正和提议。

特别感谢 Maarten Litmaath, Guy Harris 和 Jonathan Kamens,他们都贡献良多。

这个文件中的第 5 部份(shells)几乎完全是 Matthew Wicks 写的。

这个文件中的第 6 部份(各种 Unix)几乎完全是 Pierre (P.) Lewis 写的

我尽可能的把每个问题的作者与最后更新的日期放在问题的开端。很不幸地,因为我最近才开始这样做, 许多的资讯已遗失。我也疏于保存为问
题补充最新资料者的名单。对那些有贡献而没有得到应有的荣誉者, 在此致歉。

我将此文件转为 *roff 格式(ms 与 mm 两种 macro 都有)。AndrewCromarty把它转换成 Texinfo 格式。这些格式化的版本可由 anonymous
ftp 于 _blank>ftp.wg.omron.co.jp 的 pub/unix-faq/docs 取得.


1.2) 当有人提及'rn(1)' 或 'ctime(3)' 的时候,刮弧里的数目意谓什么呢?

看起来像是 function call, 不过, 不是。 这些数目字是指 Unix 手册中文件所在的章节。当你打 "man 3 ctime" 时, 表示是要查阅在第
3节中ctime 的内容。

传统 Unix 手册的分节法:

1 User-level commands
2 System calls
3 Library functions
4 Devices and device drivers
5 File formats
6 Games
7 Various miscellaneous stuff - macro packages etc.
8 System maintenance and operation commands

一些 Unix 版本使用非数字的章节名字。举例来说, Xenix 的指令用"C"而功能用"S"。 一些比较新的 Unix 版本得用 "man -s# title" 而
非"man # title"。每一节都有一个简介, 以 # 代表节数, "man # intro" 就可以读第 # 节的简介。

有时为了区别指令和相同名字的常式或系统呼叫数字是必需的。 举例来说,你的系统可能有"time(1)", 有关 'time' 这个测量所费时间指令
的说明,也有 "time(3)", 关于 'time' 这个用来决定目前时间的副常式的说明。你可以用 "man 1 time" 或 "man 3 time" 来选择要看哪
一"time" 的说明。

或许你系统会有其它的章节或在细分的次章节(subsection),像 Ultrix 就有 3m, 3n, 3x 与 3yp。


1.3) 一些奇怪的 unix 指令名字的由来

awk = "Aho Weinberger and Kernighan"

这个语言以作者 Al Aho, Peter Weinberger 和 Brian Kernighan 的姓来命名。

grep = "Global Regular Expression Print"

grep 来自 ed 的列印所有符合某 pattern 指令

g/re/p

"re" 代表 regular expression

fgrep = "Fixed GREP".

fgrep □找固定的字串。"f" 不是代表 "fast" - 事实上, "fgrep foobar *.c" 通常比 "egrep foobar *.c" 来得慢(有点意外吧, 不信
的话, 自己试试喽)。
尽管如此,Fgrep 仍然有可取之处,在档案中搜寻字串的时候,Fgrep能处理的字串数目较 egrep 多。

egrep = "Extended GREP"

egrep 用比 grep 更 fancy 的 regular rexpression。许多人始终只用 egrep,因为它用的 algorithm 比 grep 或 fgrep 用的高级,而
且通常是三个程式中最快的。

cat = "CATenate"

catenate 是一个艰深难懂的单字,意思是"把它连成一串", 这就是"cat" 这个指令对一个或多个档案所做的处理。

请不要跟 C/A/T 混淆了,C/A/T 是指电脑辅助排版系统(Computer Aided Typesetter)。

gecos = "General Electric Comprehensive Operating Supervisor"

不过,当通用电器 (GE) 的大型系统部门卖给 Honeywell 的时候,Honeywell 就把 GECOS 的 E 拿掉了。

目前 Unix 的密码档里面仍保有 "pw_gecos" 这个栏位。这个名字是从古早的年代沿用过来的。

Dennis Ritchie 曾经说过:

"有时候我们会把印表输出或整批工作丢到 GCOS 机器。密码档里面的 gcos 栏位是用来隐藏 $IDENT 卡片上的资讯,这样做不够优雅"。


nroff = "New ROFF"
troff = "Typesetter new ROFF"

这些字都是从"roff"衍生的, roff 是重写 Multics 上的 runoff 程式得来的 (runoff 的意思就是"印出文件")。

tee = T

这是管线工人的术语,代表 T 型的管线分叉器。

bss = "Block Started by Symbol" (由符号启始的区块)

Dennis Ritchie 曾说过:

这个缩写也许有其他说法,但事实上我们采用这个缩写的本意是"Block Started by Symbol"。它是 FAP 上的虚拟指令,FAP(Fortran
Assembly [-er?] Program) 是指 IBM 704-709-7090-7094这种机型的组译器。这个指令可定义自己的标号,并且预留一定数目的字组空间。
还有另一个虚拟指令 BES,是 "Block Ended by Symbol",跟 BSS 指令几乎一样,不同点在于标号是定义在预留字组空间尾端的位址 + 1 的
地方。在这些机器上,Fortran 的阵列是以反方向储存,而且阵列的索引是从 1 算起。

这种用法是合理的,因为这跟 UNIX 上标准的程式载入器一样,程式码当中并非真的放入这一整块预留空间,而是先用一个数目表示,在载入时
才真的把所需的预留空间定出来。

biff = "BIFF"

这个指令是用来设定当您有新邮件进来时,是否要通知您。这是柏克莱大学校园内一只狗的名字。

我可以确定这个名称的起源,如果您有兴趣的话,Biff 是 Heidi Stettner 养的宠物,想当年 Heidi (还有我,跟 Bill Joy) 都还是UCB的
研究生时,早期的 BSD 版本还在发展中。Biff 受到流连于Evans Halls 这些人的喜爱,也因为它会对前来的邮差吠叫而闻名;因此就
以 biff 当作指令的名称。(这是卡内基美浓大学的 Eric Cooper 证实的)

rc (像是 ".cshrc" 或 "/etc/rc" 中的 rc 这两个字母) = "RunCom"

"rc" 是取自 "runcom", 来自麻省理工学院在 1965 年发展的 CTSS系统。相关文献曾记载这一段话: '具有从档案中取出一系列命令来执
行的功能;这称为 "run commands" 又称为 "runcom",而这种档案又称为一个 runcom (a runcom)。'

Brian Kernighan 与 Dennis Ritchie 告诉 Vicki Brown 说: "rc" 也是Plan 9 作业系统 shell 的名字。



Perl = "Practical Extraction and Report Language"
Perl = "Pathologically Eclectic Rubbish Lister"

Perl是 Larry Wall 所发展的一种相当受欢迎的语言, Perl 在处文字,process,与档案时非常便利,可以说是兼得 shell 与 C 之长。想
知道更多关于Perl 的讯息,请看 Usenet newsgroup comp.lang.perl。

Don Libes 的 "Life with Unix" 一书里有更多这类的珍闻轶事。


1.4) "comp.unix.questions" 和 "info-unix" mailing list 之间的gateway 是如何运作的?

"info-unix" 与 "unix-wizards”分别是 comp.unix.questions 和comp.unix.wizards 的 mailing-list 版。Mailing list 与
newsgroup的内容应该是相同的

要加入或退出任一个 mailing list, 请送 email 给info-unix-quest@brl.mil或 unix-wizards-request@brl.mil。切记要加入或退出
mailing list 时是送给"*-request@brl.mil" 。也请您耐心等候因为不会马上有回应。

底下就是 mailing list 的维护者 Bob Reschly 所提供关于这些 mailing list的详细细节。

==== postings to info-UNIX and UNIX-wizards lists ===

我个人不对送到 mailing list 的内容作管制,任何送到这个 mailing list 的信件都会贴到相对应的 news group。BRL 只是单纯的转送。
在此 mailing list上的 Internet 使用者,要送文章到 newgroup 上时请送到 info-UNIX 或UNIX-wizards, '-request' 是要的信是要送
给 mailing list 的维护者看的。

在此 mailing list 上的 Internet 使用者会收到两类的讯息,一种是单独一篇的讨论文章,另一种则是集结多篇讨论精华的文摘。从
Internet 或者BITNET (透过 Bitnet ←→ Internet 转换程式)寄往 BRL 的讯息都会转发一份给 mail list 当中的每一个使用者。


从 USENET 发出来的文章则以每天汇整一次的方式寄给 mailing list 当中的所有成员。BITNET 的网路交通跟 Internet 的网路交通很像。
主要的不同点在于:对于 mailing list 内所有 BITNET 的收件人,我只要维护一个电子邮件地址,让这个地址所在的收件程式维护所有收件
人的资讯,并且自动转寄所有文章给 mailing list 上的每一个订阅者即可。

在 USENET 上的订阅者只会读到各自独立的讯息,所有发自 Internet 的讯息则转送至我们位于 USENET 上的机器,然后贴至合适的讨论区。
很不幸地,这些透过转换程式贴出去的文章,发件人会变成 news@brl-adm,这是转换软体目前尚未解决的先天限制。

至于读者群方面,USENET 是一个拥有广大读者群的地方,我估计约有数千部主机与数万名使用者参与 USETNET。BRL 所维护的主要 list 约
有250 个,大约有百分之十是本地的转送 list。我不太清楚 BITNET 方面的转送数目,不过如果要让我猜的话,数目大约跟主要 list 一样。平均一个list 在一个星期内要送出 150K 到 400K 的资料。


1.5) 请建议一些有用的 Unix, C 相关书籍。

Mitch Wright (mitch@cirrus.com) 维护一份 Unix 和 C 相关书籍一览表,里面包含简介与短评。目前在他的表上有 167 本ftp.rahul.net
(192.160.13.1) 的 "pub/mitch/YABL/yabl" 就是这份一览表。 要加入新的内容或提供建议送 email 给 mitch@cirrus.com。

Samuel Ko (kko@sfu.ca) 维护一份 Unix 相关书籍表。这个列表只包含推荐书,因此比较短。 这份表是分类的列表, 如果你正在寻找特定条
件类型的书, 这份表无疑是较为合适的。rtfm.mit.edu 的"pub/usenet/news.answers/books/unix" 就是此表。要加入新的内容或提供建议
送 email 给 kko@sfu.ca。

如果你不能使用 anonymouse ftp, email 到 "ftpmail@decwrl.dec.com"信的内容就写 "help",然后你就会收到一份教你如何以 email 取
得anonymous 的信件。


1.6) 以前在这 FAQ 中的发音表到那去了?

当 1989 本文件开使时, 它包含了一份 Carl Paukstis 原作,由 Maarten Litmaath 所维护的一份包罗万象的
发音表。后来它功成身退了,因为发音与 "Unix questions" 这个主题不是真的有关。

若你碰到一些不知该怎么读的字, 请参考 Eric S. Raymond eric@snark.thyrsus.com 所维护的 Jargon。

/* 译注: _blank>ftp://ftp.csie.nctu.edu.tw/pub/GNU/jarg320.txt.gz 是普通文字版 Jargon */

若你还是坚持要以前那份发音表, _blank>ftp.wg.omron.co.jp (133.210.4.4) 的"pub/unix-faq/docs/Pronunciation-Guide" 就是啦
推荐阅读
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • Ihavethisfollowinginputfile:我有以下输入文件:test.csvdone_cfg,,,,port<0>,clk_in,subcktA,ins ... [详细]
author-avatar
伊那里
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有