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


12

我可以理解在/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
看第二个答案。您列出的那些文件的原因是它们是不应该每天更改的配置文件,并且始终以.ssh和.bash_profile出现,因此您不想知道它们在那里,这只是一个约定。假脱机文件是与您列出的其他文件相同的临时文件,因此不应手动编辑,因此它们是隐藏的
vfbsilva 2014年

3
.ssh和.config始终以该名称命名,无论它们是在普通用户的主目录中还是root用户的主目录中。/ etc / skel应该是新用户主目录的原型,文件的名称与在新创建的目录中的名称相同。
Mark Plotnick

2
但是这些文件不是隐藏的。该ls命令默认情况下不会列出以点开头的文件(请参阅参考资料info ls)-这是该特定软件的设计。

1
@illuminÉ:那么,如果没有将“隐藏”定义为“默认情况下未显示”,您将如何精确定义?请注意,这不仅是的属性ls;此外,除非在模式中明确包含前导点,否则glob的shell扩展将不包括那些文件,并且除非选择“显示隐藏的文件”选项,否则文件管理器通常不会显示它们(是的,该选项确实使用该术语)。
celtschk 2014年

Answers:


15

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

以防止用户弄乱事物。

尽管对于新手来说,这可能会带来后果,直到他们了解什么是“点文件”(点文件点目录可能比“隐藏”更合适和更具体的术语)。就其本身而言,它并不能阻止您弄乱一切,这就是权限的用途。可能确实有助于向新用户指示这是他们在了解其用途之前不应该弄混的东西。

因此,您可以将点前缀视为一种文件后缀-请注意,尽管它们通常没有其中的一个。它表明该文件不适合常规浏览,这就是为什么ls文件浏览器通常不会显示该文件的原因。但是,由于它是前缀而不是后缀,所以当您ls -a按字典顺序显示它们()以便将它们全部列出时,还有一个额外的好处。

此类文件的正常用途是供应用程序使用(例如,配置)。您不必直接使用它们,甚至不必注意它们。

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


感谢您的回答。是否意味着这些文件的重要性较小,因此隐藏起来以减少混乱?
2014年

1
我想这取决于您的观点。它确实说明了文件的重要性(可能)。它们在主目录中用于每个用户的配置,但通常也在目录中用于指示每个目录的配置。两个例子:git等版本控制系统将使用它们;当git扫描指定的目录中,如果有一个.gitignore存在的文件,它会读取它; 当你启动gdb,它会读取一个$PWD/.gdbinit文件,如果存在(~/.gdbinit;另一种常见的方法)。
goldilocks

4

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

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

对于其他文件,我不知道它们的用途,但是我敢肯定,为什么要隐藏它们也有很好的解释。

当然,goldilocks是正确的,隐藏点文件不是为了防止任何人弄乱它们(Unix的基本思想是假设用户知道他的所作所为),而是为了防止它们弄乱您的目录清单(尽管对于主目录中的配置文件,我会认为etc子目录是一种更好的解决方案)。


+1“主目录中的配置文件”是一个非常愚蠢的想法。隐藏它们只是为了在您真的不想看到它们时出现。
maaartinus

3

这可能是一个高度反对的答案,但是我认为标记点文件点目录的主要原因不是要隐藏遮盖它们-我认为这只是为了让用户知道这些文件和目录中是程序的和用户的可以由它们或程序本身更改的设置。

这一事实点文件点目录默认情况下,忽略通过命令行ls,并在大多数文件管理器视图仅仅是一个商品-你不想展示的一切内部/详细信息,除非用户请求; 如果用户想要更改设置,而他/她无法通过GUI进行设置,那么很有可能在点文件中找到他/她正在寻找的设置。

例如,在内部,$HOME/.vimrc您将找到的配置设置vim

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.