随机软件不断在我的主文件夹中创建文件夹,这些文件夹变得混乱且杂乱。我决定把事情清理干净。我在文件夹名称的开头添加了一个点.
以隐藏它们,但很快意识到点会影响文件夹名称,并且软件不再找到文件夹。我最终得到了一个损坏的软件......
所以目前看来在 Unix 和 Linux 中要么是文件夹结构杂乱或者功能失调的软件。
这让我很烦恼,我问是否有其他方法可以隐藏文件夹和文件而不影响功能?
问题的偏见部分:
在我看来,仅仅从功能和美观的角度来看待操作系统是不明智的。
chmod
并chown
负责处理功能部分(文件和文件夹保护),所以.
除了从美观的角度来看,使用就变得多余了(隐藏文件)。相反,.
还会影响名称并干扰功能。因此,我的观点是,我们需要一种不同的机制来隐藏文件而不影响功能。
答案1
放置文件的真正解决方案是将其放置在不同的目录中。
出于古老的 Unix 传统,名称以点开头的文件在某些软件中默认是隐藏的。它从ls
命令开始,并被许多(但不是全部)文件管理器模仿。
有一项建议隐藏名称在名为 的文件中列出的文件.hidden
,该文件起源于侏儒。它没有得到非常广泛的支持。您可以尝试使用它,但不要指望您的用户使用的所有软件都会隐藏它们。如果用户在某些软件中看到这些文件,但在其他软件中看不到这些文件,这很可能会适得其反——他们可能会删除在程序 A 中看到但在程序 B 中看不到的文件,认为如果程序 B 没有显示这些文件,那么就有问题了他们错了,他们可能不应该在那里。因此,虽然我告诉您此功能存在,但我建议您不要使用它。
再说一遍,如果您不希望用户弄乱某些文件,请将它们放在不同的目录中。并且,如果适用,请勿授予他们修改这些文件的权限。
答案2
以点开头的文件 (点文件) 供应用程序使用,通常它们指定应用程序的配置;它们不应该由最终用户操作,最终用户甚至不需要知道它们。
因此,点文件的目的并不是真正的“清理混乱”,更不是“防止新用户把事情搞砸”(这就是权限的用途;请注意,可以通过 轻松查看点文件ls -a
),而只是为了组织文件并通过将系统相关文件(点文件)与用户创建的数据分开来减少混乱。
之所以没有另一个系统来隐藏文件,是因为它被认为是多余的,点文件已经证明了它们的用途。请注意,在 Linux 中,与 MS Windows 不同,文件没有“隐藏”属性,尽管还有许多其他属性(键入man chattr
以查看它们)。
如果您想阻止用户访问文件,而不是简单地向他们隐藏文件,还有其他机制:权限 (chmod)、ACL、直至 SELinux 访问控制。