http://tieba.baidu.com/p/1301943145

这个 ".d" 是表示目录(directory)的意思


早期 unix 中很多应用软件通常都只用一个独立的配置文件,如 fstab 等。随着应用越来越复杂,软件中需要配置的项目越来越多,单个配置文件开始显得复杂无比,难以操作。这时很多软件就逐渐开始将配置项放入多个文件。使用多个配置文件更容易分配操作权限,内容也可以更专一,因此更适合模块化管理。但这也造成了 /etc/ 目录下的文件急剧增加,且文件名冲突现象越来越严重。

因此unix 中约定系统软件除创建一个(特例下可以多个,如 rc 簇)传统的全局配置文件外,将附属的其它配置文件保存到同名的目录中,区别是在名称后面加 ".d" 后缀,同时全局配置文件后面也加上后缀 ".conf",这样就使得配置文件更容易进行模块化管理,同时兼容了 unix 的老习惯:直接操作 /etc/ 下的配置文件,而不是操作 /etc/ 下子目录中的配置文件。

对于安装在 unix 中的应用软件来说,它们的配置文件除自己使用外,很少会由其它应用来读取或修改,因此应用软件完全可以由自己来管理配置文件,所以应用类软件通常直接在 /etc/ 下创建一个子目录用来保存所有的配置文件,而不再创建传统的全局配置文件。

所以,我们现在能在 /etc/ 看到的就是这三种不同的配置文件组织方式下的文件和子目录。分别是:传统的单一配置文件(都是比较早期开发的软件)、系统软件的全局配置文件(.conf) + 附属配置文件(.d)、以及应用软件的配置文件(存放在子目录且子目录名不加 ".d")。

另外,unix 中还有一个约定,凡是守护进程的执行文件名后会加上 "d" ,这个 "d" 前不带 "." 号,代表的才是 daemon 的意思,通常存放在 /usr/sbin/ 下。
Logo

更多推荐