Linux 下有确定文件位置的标准方法吗?更好的是,是否有任何 POSIX API 允许检索标准文件位置?
例如,如何确定用户的主目录?或者,如何确定系统配置文件的正确位置?
我知道这些位置通常是“/home/username”或“/etc/”。我应该对路径进行硬编码吗?
最佳答案
当前用户主目录的路径位于环境变量HOME
中。 (我知道主目录分布在多个分区的系统(例如,/vol/vol[number]/[first letter]/[user name]
)并且不位于/home/
.)
对于其他用户,可以使用 getpwent
(和 getpwent_r
),它可以从 passwd 条目中提取主目录。
对于其他目录,有 File System Hierarchy Standard ,大多数 Linux 发行版以及其他一些 OSen 都遵循这一点。
我认为没有可用的 API。因此,如果一个系统以不同的方式做事,你就得靠自己了——祝你好运! ;-)
关于linux - 确定 Linux 下的标准文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6638116/