文件和目录命名约定


21

我想重构系统上的文件和目录。但是我不确定什么是最佳实践

阅读完此问题及其答案后,我认为最重要的部分是保持一致。但是,这就是我遇到的问题。例如在根目录中,有诸如/bin和的目录/usr,它们都使用小写字母。但在我的用户目录下/home/foobar/,已经有一堆目录,如~/Pictures~/Documents~/Music(这是大写)!

也许这仅仅是因为我使用Ubuntu,但是什么是最佳实践


7
您可以在系统上执行所需的操作。如果要将色情收藏存储在/ boot中,则没有人限制。
2011年

2
仅供参考,当您使用/和一样开始使用路径时,/Pictures这意味着该路径从根级别开始(即绝对路径)。如果路径以开头~,则它的起点是主目录(主目录(如果后面跟着a /或全无),如果是其他人,后面跟着用户名)。因此,您应该写~/Pictures的意思是主目录中的Pictures目录,或者您只需要写Pictures。如果要显示它是目录,请在后面加上/,如中所示Pictures/
Mike DeSimone

Answers:


7

这里有几个相互冲突的部分。关于能够做任何您想做的事的评论是对的,但从长远来看,它将为您带来更多的工作。

如果您想在主目录之外重新安排任何内容,请停止!这比您想象的要复杂得多,您应该不要理会它。如果您不喜欢它,则应更改为其他发行版甚至操作系统。如果不适合您,则需要自己滚动,但不能随便移动系统目录而不被烧毁。请参阅此问题以获取一些想法,如果您想那样做将会怎样。

因此,我们进入了您的主目录。

首先,请记住在构想权限是分层的结构时。为了使某人对给定文件夹具有权限,他们需要至少对该文件夹上方的每个文件夹具有执行权限。如果您在主目录中共享的任何内容都必须位于顶部(例如〜/ Music),则您要限制的任何内容都应位于权限受限的子文件夹中(例如〜/ .ssh / id_rsa)。

其次,本身没有规则,甚至没有最佳实践,但是有约定。许多软件都使用您可能会或可能无法更改的默认值,但是即使您可以更改它们,也必须不断进行操作。侏儒,尤其是Ubuntu的东西,喜欢名称以大写字母开头的文件夹。如果尝试将“下载”移至“下载”,则会发现某些假定默认设置的程序不久之后可能会再次创建原始文件。在这种情况下,您必须决定要逆潮流游泳的次数。


我认为Linux可以根据需要进行配置...
daGrevis 2011年

如果您通过软链接访问目录,您仍然需要目录上方每个文件夹的执行权限吗?另外,为什么不创建从“下载”到“下载”的软链接,作为对某些发行行为的最后一点的回应。
deed02392 '02

15

系统文件的组织取决于操作系统制造商。Linux发行版基本上遵循Linux文件系统层次结构标准(FHS)。作为用户或系统管理员,FHS(和发行版的其他约定)有时可能对您有用,如果您需要查找文件,或者如果您想了解文件的位置(但不限制您的角色),则可以仍然做您想做的事情(后果自负)。

在您的主目录中,您可以执行几乎所有所需的操作,但有一个例外:点文件(即,名称.在主目录中以a开头的文件)是配置文件或状态文件,并且应用程序要求它们具有特定的名称。例如,bash ~/.bashrc在启动时始终会读取(除非不是,但那是另一回事),因此最好不要将该名称用于其他目的。

Freedesktop的项目,这主要是为一个共同点侏儒KDE,定义了几个标准的路径$HOMEDocumentsMusic,等一些应用程序,如果它们不存在创建这些目录,并使用它们作为默认位置。您可以更改它们的名称,实际上它们应该被翻译成您的语言。管理这些目录的软件组件是xdg-users-dirs。您可以通过在中设置不同的值来更改目录名称~/.config/user-dirs.dirs


1

在GNU / Linux上,相关标准是文件系统层次结构标准(FHS)。但是,这不包括用户主目录中的目录命名约定。


狡辩:如果你PREFIX=$HOME ./configure; make; make install建立的东西无需root权限,你会得到binlibincludeshareman等下$HOME,所以如果有任何机会,你会每一个想这样做,你不妨首先使用传统的名字。
dmckee 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.