为啥 `pw_gecos` 是这样命名的?

Posted

技术标签:

【中文标题】为啥 `pw_gecos` 是这样命名的?【英文标题】:Why is `pw_gecos` named as such?为什么 `pw_gecos` 是这样命名的? 【发布时间】:2017-07-11 09:56:06 【问题描述】:

在 passwd 结构中:

struct passwd 
    char   *pw_name;       /* username */
    char   *pw_passwd;     /* user password */
    uid_t   pw_uid;        /* user ID */
    gid_t   pw_gid;        /* group ID */
    char   *pw_gecos;      /* user information */
    char   *pw_dir;        /* home directory */
    char   *pw_shell;      /* shell program */
;

参考:http://man7.org/linux/man-pages/man3/getpwnam.3.html

user information(通常是用户的全名)可以在属性pw_gecos 中找到。 gecos 是什么意思,为什么这样命名,这个名字背后的历史是什么?

【问题讨论】:

也许 wikipedia 对此有所帮助 - 似乎来自 General Comprehensive Operating System。 @Petesh 如果你把它变成一个充实的答案,我会接受它,否则我会参考这个并自己回答这个问题。谢谢。 【参考方案1】:

来自wikipedia:

gecos 字段或 GECOS 字段是 /etc/passwd 文件中的一个条目 Unix,和类似的操作系统。它通常用于记录 有关帐户或其用户的一般信息,例如他们的 真实姓名和电话号码。

贝尔实验室的一些早期 Unix 系统使用 GECOS 机器进行打印 spooling 和其他各种服务,所以这个字段被添加到携带 有关用户 GECOS 身份的信息。

【讨论】:

以上是关于为啥 `pw_gecos` 是这样命名的?的主要内容,如果未能解决你的问题,请参考以下文章

“语义”是啥意思?为啥“移动语义”这样命名,而不是任何其他术语?

Oracle为啥不支持驼峰命名法

为啥 Javascript `atob()` 和 `btoa()` 被这样命名?

为啥 ArgumentParser 返回命名空间而不是字典? [关闭]

为啥我们不能在一个类中声明一个命名空间?

ServiceContract 对命名空间的定义如何(为啥)影响功能