我一直在寻找一个“ .android”文件夹并ls在各处使用,直到我决定使用locate(在 后updatedb)并发现它一直在我的/home/johndoe/文件夹中。当我ls打开该文件夹时,该.android文件夹未列出。有人可以解释一下为什么这没有用我心爱的ls命令列出来吗?
传统上,在 UNIX 和类 UNIX 操作系统中,该.前缀表示隐藏文件,类似于 Windows 中的“隐藏”标志。它可以在任何地方工作,但它的主要用途是隐藏主目录中的配置文件(例如~/.cache/\ ~/.planxe2\x80\x93,它们通常称为“点文件”)。
要强制ls显示隐藏文件,您需要该-a选项。
几乎所有图形文件管理器也都遵循此前缀;CtrlH切换 GNOME 中的“隐藏”文件。
\n正如 Rob Pike在 Google+ 上写道,这是一个偶然的功能:
\n\n\n很久以前,当 Unix 文件系统的设计正在制定时,条目 . 和..出现,使导航更容易。我不确定,但我相信..在版本2重写期间进入,当时文件系统变得分层(它早期有一个非常不同的结构)。然而,当输入 ls 时,这些文件就会出现,因此 Ken 或 Dennis 向程序添加了一个简单的测试。当时是用汇编程序编写的,但有问题的代码相当于这样:
\n\n
if (name[0] == \'.\') continue;该声明比应有的内容短了一点,即
\n\n
if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;但是嘿,这很容易。
\n结果有两件事。
\n首先,开了一个不好的先例。许多其他懒惰的程序员通过同样的简化引入了错误。以句点开头的实际文件在应该计数时通常会被跳过。
\n其次,更糟糕的是,创建了“隐藏”或“点”文件的想法。结果,更多懒惰的程序员开始将文件放入每个人的主目录中。我在用来输入此内容的机器上没有安装那么多东西,但我的主目录有大约一百个点文件,我什至不知道其中大多数是什么,也不知道它们是否\还是需要的。通过我的主目录的每个文件名评估都会因这种积累的污泥而减慢。
\n
| 归档时间: |
|
| 查看次数: |
3972 次 |
| 最近记录: |