2011-07-09 8 views
2

Linuxでファイルの場所を特定する標準的な方法はありますか?さらに、標準ファイルの場所を取得できるPOSIX APIはありますか?Linuxで標準ファイルの場所を確認する

たとえば、ユーザーのホームディレクトリを特定するにはどうすればよいですか。または、システム構成ファイルの適切な場所を確認するにはどうすればよいですか?

私は通常、これらの場所は "/ home/username"または "/ etc /"であることを知っています。私はそのようなパスをハードコードする必要がありますか?

答えて

4

現在のユーザーのホームディレクトリへのパスは、環境変数HOMEにあります。 (私は自宅のdirsには、複数のパーティション(たとえば、/vol/vol[number]/[first letter]/[user name])に広がっと/home/に配置されていないシステムを知っている。)

他のユーザーの場合、getpwent(およびgetpwent_r)は、passwdエントリからホームディレクトリを引っ張った、があります。

他のディレクトリには、File System Hierarchy Standardがあります。これはほとんどのLinuxディストリビューションが従い、他のいくつかのOSenも同様です。

私はこのためのAPIはないと思います。したがって、システムが別のことをしている場合、あなたはあなた自身である - 幸運! ;-)

1

現在のユーザーのホームディレクトリは、HOME環境変数にあります。他のユーザーの場合は、getpwnam or getpwuid functions(または_rバリアント)を使用して、指定された別のユーザーのホームディレクトリなどを検索することができます。

-1

これは尋ねなかったことがわかりましたが、実行可能ファイルの場所を探している場合はwhich

関連する問題