我知道这些文件记录了什么,但我想知道“u”、“w”、“b”前缀的含义。
任何人都可以透露一些信息吗?
答案1
“u”代表用户。utmp
提供有关谁在系统上的信息。
中的“w”wtmp
可能来自“who”。
“b”来自“bad”,btmp
记录错误的登录尝试。
这些名称有点神秘,就像 Unix/Linux 上常见的那样。
答案2
有一个好的其用法总结由莱纳斯·托瓦兹 (Linus Torvalds) 撰写,但它并没有太多历史记载。
这些名称utmp
可以wtmp
追溯到 UNIX 最早的 20 世纪 70 年代。
这两个文件都存在于 UNIX v6 中,其中ac
和who
命令将报告其内容。 (奇怪的是,该who
命令会报告“不能打开沃特姆普”如果无法读取。)/etc/utmp
最初utmp
是在/etc
,并且wtmp
是在/usr/adm/wtmp
。
在 20 世纪 80 年代/var
拆分时,这两个文件都被移到了下面,一开始是./usr
/var/adm
/var/log
要确定为什么选择这些名字,你必须询问肯·汤普森,或者搜索丹尼斯·里奇的档案。
我怀疑它/etc/utmp
是第一个创建的,其他名称都是基于它的。处于/etc
其他一切都是静态的位置可能有助于使用tmp
每次系统启动时重新创建的文件。或者也许这是一个临时的想法,流行起来,并保留了其堂吉诃德式的文件名。
btmp
很久以后才添加的;当我 1994 年开始使用 Linux 时,我认为它还不存在。
显然u
是指“用户”,b
只是表示“错误”(失败)登录,但w
不太清楚。如果我不得不猜测(并且知道双关语和语言怪癖的倾向)wtmp
可能来自uutmp
(“用户使用情况”)被解读为“双U临时”。