Answers:
传统上,在UNIX和类似UNIX的操作系统中,.前缀表示隐藏文件,类似于Windows中的“隐藏”标志。它可以在任何地方使用,但其主要用途是将配置文件隐藏在您的主目录中(例如,~/.cache/或~/.plan–通常被称为“ dotfiles”)。
要强制ls显示隐藏文件,您需要-a选择。
几乎所有的图形文件管理器也都使用该前缀。CtrlH在GNOME中切换“隐藏”文件。
正如Rob Pike 在Google+上所写的那样,这是一个偶然的功能:
很久以前,随着Unix文件系统的设计工作的日渐深入,条目开始了。和..出现,使导航更容易。我不确定,但我相信..是在版本2重写期间加入的,当时文件系统已变为分层结构(早期的结构非常不同)。但是,当键入ls时,这些文件就会出现,因此Ken或Dennis都向程序添加了一个简单的测试。当时是在汇编程序中,但是有问题的代码等效于以下内容:
if (name[0] == '.') continue;该语句比应有的语句短一些,即
if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;但是,这很容易。
结果有两件事。
首先,建立了一个错误的先例。许多其他懒惰的程序员也通过同样的简化来引入错误。以句点开头的实际文件在应计数时通常会被跳过。
其次,更糟糕的是,创建了“隐藏”或“点”文件的想法。结果,更多懒惰的程序员开始将文件拖放到每个人的主目录中。我用来键入此内容的机器上没有安装太多东西,但是我的主目录中有大约一百个点文件,我什至不知道其中大多数是什么还是是否仍需要它们。累积的污泥会减慢通过我的主目录进行的每个文件名评估的速度。