为什么有些文件和文件夹被隐藏了?

为什么有些文件和文件夹被隐藏了?

/home/user我可以理解在目录中隐藏文件和文件夹以防止用户乱搞事情的基本原理。但是,我不知道如何将相同的原理应用于管理员域中的/etc/boot和目录中的文件。/var

我的问题是为什么某些文件和文件夹对管理员隐藏?例子:

/boot/.vmlinuz-3.11.1-200.fc20.x86_64.hmac
/etc/.pwd.lock
/etc/selinux/targeted/.policy.sha512
/etc/.java
/etc/.java/.systemPrefs
/etc/skel/.bash_profile
/root/.ssh
/root/.config
/var/cache/yum/x86_64/20/.gpgkeyschecked.yum
/var/spool/at/.SEQ
/var/lib/pear/.filemap

答案1

您误解了“隐藏文件”的主要原理。它不是

以防止用户乱搞事情。

尽管对于新用户来说可能会产生这种后果,直到他们了解什么是“点文件”(点文件点目录也许是比“隐藏”更合适和更具体的术语)。它本身并不能阻止你乱搞事情——这就是权限的用途。它可能确实有助于向新用户表明,在他们了解其用途之前,他们不应该乱搞。

因此,您可以将点前缀视为一种文件后缀 - 请注意,它们通常没有其中之一,尽管它们可以。它表明该文件对于一般浏览不感兴趣,这就是ls文件浏览器通常不会显示它的原因。但是,由于它是前缀而不是后缀,因此当您ls -a按字典顺序显示它们 ( ) 时,可以看到它们全部列出在一起,这还有额外的好处。

像这样的文件的正常用途是供应用程序使用(例如配置)。您不必直接使用它们,甚至不必知道它们。

因此,这种“隐藏”并不是为了从字面上隐藏用户的文件,而是为了减少混乱并在概念上提供一些组织。

答案2

/etc/skel包含要复制到新用户主目录的文件,因此名称当然与用户主目录中的名称相同。这就解释了/etc/skel/.bash_profile。该目录/root也是主目录,即用户的主目录root。这解释了/root/.ssh/root/.config

/etc/.pwd.lock似乎是一个锁定文件。您通常对锁定文件不感兴趣,因此隐藏它是有意义的。

对于其他文件,我不知道它们的用途,但我确信也有一个很好的解释为什么它们被隐藏。

当然,金发姑娘是对的,隐藏点文件不是为了防止任何人弄乱它们(Unix 的基本思想是假设用户知道他在做什么),而是为了防止它们弄乱你的目录列表(尽管对于主目录中的配置文件,我认为etc子目录是更好的解决方案)。

答案3

这可能是一个非常固执己见的答案,但我认为主要原因是点文件点目录被标记为这样不是隐藏或者朦胧他们 - 我认为这只是让用户知道在这些文件和目录中是程序和用户的设置,可以由他们或程序本身更改。

事实是点文件点目录默认情况下,命令行会忽略它们ls,并且从大多数文件管理器的视图中来看,它们只是一种商品 - 您不想显示所有内容的内部/详细信息,除非用户请求;如果用户想要更改设置,并且他/她无法通过 GUI 来完成此操作,那么很可能会在点文件

例如> 在里面$HOME/.vimrc你会找到 的配置设置vim

答案4

点文件旨在表示内部生成/操作的文件,主要用于配置或日志目的。这些文件不应该由用户直接编辑,这样做可能会干扰源更新文件的能力。

现在系统和应用程序都可以使用隐藏文件,并且由应用程序开发人员正确使用隐藏文件。

相关内容