确定Linux下的标准文件位置

确定Linux下的标准文件位置,linux,unix,filesystems,posix,freebsd,Linux,Unix,Filesystems,Posix,Freebsd,Linux下是否有确定文件位置的标准方法?更好的是,是否有允许检索标准文件位置的POSIXAPI 例如,如何确定用户的主目录?或者,如何确定系统配置文件的正确位置 我知道这些位置通常是“/home/username”或“/etc/”。我是否应该对路径进行硬编码?当前用户主目录的路径位于环境变量home中。(我知道一些系统的主目录分布在几个分区上(比如,/vol/vol[number]/[first letter]/[user name]),而不是位于/home/) 对于其他用户,还有getpwe

Linux下是否有确定文件位置的标准方法?更好的是,是否有允许检索标准文件位置的POSIXAPI

例如,如何确定用户的主目录?或者,如何确定系统配置文件的正确位置


我知道这些位置通常是“/home/username”或“/etc/”。我是否应该对路径进行硬编码?

当前用户主目录的路径位于环境变量
home
中。(我知道一些系统的主目录分布在几个分区上(比如,
/vol/vol[number]/[first letter]/[user name]
),而不是位于
/home/

对于其他用户,还有
getpwent
(和
getpwent\u r
),它们从passwd条目中提取主目录

对于其他目录,还有大多数Linux发行版所遵循的目录,以及其他一些OSen目录


我不认为这有一个API。因此,如果一个系统做的事情不同,那你就靠自己了——祝你好运!;-)

可以在home环境变量中找到当前用户的主目录。对于其他用户,您可以使用(或变体)查找其他指定用户的主目录等。

我知道您没有问这个问题,但是如果您要查找可执行文件的位置,可以使用
which