我正在学习perl的* nix系统工具,我一直盯着以下两句话几分钟:
您可以将getpwuid()和getpwnam()运算符视为随机访问 - 它们按键获取特定条目,因此您必须有一个键才能开始。访问密码文件的另一种方法是顺序访问 - 以某种明显随机的顺序抓取每个条目。
我99%肯定这是一个错字,但如果不是,我显然错过了一个关键的想法。任何人都可以对这个问题有所了解吗?
提前致谢。
答案 0 :(得分:1)
不是拼写错误,但措辞非常差。 getpwuid
通过UID查找passwd条目。 getpwnam
按名称查找密码条目。这些是“随机访问”,就像系统内存是“随机访问”;您可以通过提供键来选择您想要的那个。 (对于系统内存,“key”是地址。对于getpwuid
,密钥是UID。对于getpwnam
,密钥是名称。)
这与getpwent
形成对比,getpwent
只返回passwd文件中的“next”条目。条目将以某种未指定的顺序返回。这是“顺序访问”,就像从磁盘读取文件一样。虽然对于{{1}},您不知道结果的显示顺序。
措辞令人困惑,因为他们使用“随机”一词来表示“随机访问”(如记忆)和“显然随机顺序”(他们的意思是“未指定的顺序”)。
他们应该说“未指明的顺序”或“不确定的顺序”,而不是“显然是随机的顺序”。