![文件和目录命名约定](https://linux22.com/image/2531/%E6%96%87%E4%BB%B6%E5%92%8C%E7%9B%AE%E5%BD%95%E5%91%BD%E5%90%8D%E7%BA%A6%E5%AE%9A.png)
我想重构系统上的文件和目录。但我不确定是什么最佳实践。
看完之后这个问题及其答案我认为最重要的部分是保持一致。然而,这就是我被困住的地方。例如在根目录下有 、/bin
、等目录/usr
,这些目录均采用小写字母。但是在我的用户目录中/home/foobar/
,已经有一堆目录,例如~/Pictures
,~/Documents
和~/Music
(都是大写的)!
也许这只是因为我使用 Ubuntu,但是什么被认为是最佳实践?
答案1
系统文件的组织由操作系统制造商决定。 Linux 发行版大体上遵循Linux 文件系统层次结构标准 (FHS)。作为用户或系统管理员,如果您需要定位文件或者想要了解给定文件位置的文件的角色,FHS(以及您的发行版的附加约定)有时可能会很有用,但它不会限制您,您可以仍然做你想做的事(风险自负)。
在你的主目录中,你几乎可以做你想做的事情,但有一个例外:点文件,即.
在你的主目录中名称以 a 开头的文件,是配置或状态文件,应用程序要求它们具有特定的名称。例如,bash~/.bashrc
在启动时总是会读取(除非它不启动,但那是另一个故事),所以你最好不要将该名称用于其他目的。
这免费桌面项目,这主要是一个共同点侏儒和凯德,定义了一些标准目录在$HOME
: Documents
、Music
等。如果这些目录不存在,某些应用程序将创建这些目录,并将它们用作默认位置。您可以更改它们的名称,事实上它们应该被翻译成您的语言。管理这些目录的软件组件是xdg-users-dirs
。您可以通过在 中设置不同的值来更改目录名称~/.config/user-dirs.dirs
。
答案2
这里有几个相互矛盾的部分。关于能够做任何你想做的事情的评论是正确的,但从长远来看,它也会给你带来更多的工作。
如果您对重新安排主目录之外的任何内容有任何想法,停止!这比你想象的要复杂得多,你应该不管它。如果您不喜欢它,您应该更改为不同的发行版甚至操作系统。如果没有一个适合你,你需要自己动手,但你不能只是移动系统目录而不被烧毁。看这个问题如果你想走那条路会发生什么。
所以我们已经到了你的主目录。
首先,请记住,当您构思一个结构时,权限是分层的。为了使某人拥有给定文件夹的权限,他们至少需要对该文件夹上方的每个文件夹拥有执行权限。如果您的主目录中有任何共享的内容,则它需要位于顶部附近(例如〜/ Music),您想要限制的任何内容都应该位于具有有限权限的子文件夹中(例如〜/ .ssh / id_rsa)。
其次,没有规则,甚至没有最佳实践本身,但有惯例。许多软件都使用默认值,您可能无法更改这些默认值,但即使您可以更改它们,也必须不断地进行更改,这很麻烦。 Gnome,尤其是 Ubuntu 的东西,喜欢名称以大写字母开头的好听的文件夹。如果您尝试将“下载”移至“下载”,您会发现原始版本可能会在不久之后被某些具有假定默认值的程序再次创建。在这些情况下,您必须决定要逆潮游泳多少次。
答案3
在 GNU/Linux 上,相关标准是文件系统层次结构标准 (FHS)。但是,这不包括用户主目录中的目录命名约定。