我一直在阅读来自 GeeksforGeeks 的文章其中包括以下 UNIX 文件系统布局图像:
经过一番阅读(主要是这篇文章)我能够确定/bin
和之间的区别/usr/bin
。但是,我还没有找到任何详细说明/home/<username>/bin
其用途的内容。这里存储了什么二进制文件?是用户可能从网上下载的软件包,还是类似的东西?
答案1
您的主目录中存储的内容是
- 创建帐户时被复制到那里,可能是从某个地方,例如
/etc/skel
. - 您自己创建的东西,例如您编写的文本文件、脚本等。
- 其他程序代表您创建或存储的内容,例如邮件、缓存文件、配置文件等。
你组织你的方式$HOME
是大部分由您决定(某些应用程序可能希望在特定位置找到某些文件)。例如,您可能希望将您创建的可执行脚本(或您编译的程序)放在下面$HOME/bin
,然后将该目录添加到您的 中$PATH
,但您也可能拥有一个具有相同用途的$HOME/exe
或目录。$HOME/runnables
或者其中的几个,如果这对您来说更有意义。
没有标准规定用户创建的文件的组织方式$HOME
。
答案2
可以放置在那里的二进制文件仅用于特定用户的目的。但根据当前的标准,这种做法已被弃用和劝阻。
正如你可以从文件层次结构标准从 Linux 基金会网站来看,这个概念/home
是依赖于主机的,甚至被认为是可选的:
/home 是一个相当标准的概念,但它显然是一个特定于站点的文件系统。不同主机的设置会有所不同。因此,任何程序都不应该假定主目录的任何特定位置,而是应该查询它。
然而,/home/username/bin/
在基于 RPM 的发行版(例如 Fedora、Red Hat Enterprise Linux 或 Suse)上可能会遇到这种情况。在这方面,如果二进制文件放置在$HOME/bin
应放置在标准化文件夹中的目录中,则它们不被视为完全符合 FHS。