其他数据文件-hds ams 2500用户手册
6.6 其他数据文件
至此已讨论了两个系统数据文件——口令文件和组文件。然而,这只是冰山一角。在日常事务操作中,UNIX系统使用了许多其他文件。BSD网络软件中记录各网络服务器提供服务的数据文件( /etc/services)、记录协议信息的数据文件( /etc/protocols),还有记录网络信息的数据文件( /etc/networks)。幸运的是,这些数据文件的界面与口令文件和组文件类似。
每个数据文件通常包含三个基本函数:(1) get函数:读取下一个记录,如果需要还会打开该文件。这种函数通常返回指向一个结构的指针。当达到文件尾端时返回空指针。大多数get函数返回指向一个静态存储类结构的指针,因此如果要保存其内容,则需要复制它。(2) set函数:打开相应数据文件(如果尚未打开),然后重绕该文件。如果希望从文件起始处开始处理,则调用此函数。(3) end函数:关闭相应数据文件。在结束对数据文件的读写操作后,应调用此函数以关闭所有相关文件。
如果数据文件支持某种形式的关键字搜索,也会提供搜索具有指定关键字的记录的例程。对于口令文件,提供了两个按关键字进行搜索的程序: getpwnam寻找具有指定用户名的记录; getpwuid寻找具有指定用户ID的记录。
表6-3中列出了一些这样的例程,包括针对口令文件和组文件的函数,表中也列出了一些与网络有关的函数。表中列出的所有数据文件都有get、set和end函数。在SVR4中,表6-3中最后四个数据文件都是符号连接,连接到目录/etc/inet下的同名文件上。SVR4和4.3+BSD都有类似于表中所列的附加函数,但这些附加函数都处理系统管理文件,专用于各个实现。
想了解更多详细信息?可以参考这些资料:UNIX系统管理,UNIX系统管理高手,以及系统管理UNIX系统编程常用库函数说明。
第6章 系统数据文件和信息下载