linux - 确定 Linux 下的标准文件位置

标签 linux unix filesystems posix freebsd

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/

相关文章:

c++ - 使用 process_vm_readv 从另一个进程修改整数值

android - 获取Android Linux内核的内核命令行参数

linux - unix下同步四个shell脚本依次运行

linux - 错误 "extra characters at the end of g command"

c - 避免在不使用 O_NONBLOCK 时发送到 block

linux - 通过 USB 将 Linux native 文件系统作为 VFAT 或 NTFS 导出到 Windows

VBA 如何获取当前用户应用程序数据文件夹的路径?

python - Scrapy - 我在哪里可以在 Linux Ubuntu E4.5 上找到它

c - SIP用户代理与SIP服务器连接的信息(Opensip)

c++ - 为什么 fwrite 向我抛出访问冲突?