最近更新:27th 6月, 2015
我们都知道,在 Windows 下隐藏文件夹是看不到的,它们有的是系统文件,而有的则是病毒。如果非要显示的话,经过系统的警告之后,你可以以半透明的文件夹的形式看到这个文件夹,系统以此来标识一个文件夹是隐藏的,它有着“-s”的属性,受到系统保护。
那么很多人刚刚接触 Linux、OSX,就会很不习惯,因为这些操作系统的隐藏文件是以点开头来标记的,这些目录的名称甚至都不能在 Windows 下用来给文件夹命名!
当然,如果是提前命名好了的,则又可以复制粘贴到 Windows 下,嗯,也可以正常访问,只不过不再隐藏了——水土不服嘛,要不然你怎么总能够在 OSX 上看到 U 盘里多出来的奇妙目录呢?
那么,为什么 OSX、Linux 要使用这种奇葩的隐藏文件和目录的方法呢?!像 Windows 一样,直接来一个“隐藏”的属性,我们打个勾可好?
其实,这个问题由来已久。
就像 Linux 下每个目录的命名方式一样,这个隐藏文件的命名形式是有历史的:它来自一个命令的 bug.
早在以前,Linux 等操作系统没有图形界面,而命令行的话我们想要查看一个目录,则需要使用命令 ls(由于类 UNIX 操作系统有相对 Windows 更完善的权限机制,倒是并不太需要通过隐藏的方式来保护文件和目录)
我们都知道,在命令行里无论在哪个目录,总有两个目录永恒存在,那就是点 和 点点:
1
2
3
4
5
╭─r0uter@logcg.local~
╰─➤ls-al
total877056
drwxr-xr-x@79r0uterstaff268662723:42.
drwxr-xr-x7rootadmin23861317:12..
一个点代表了当前目录,两个点代表了上级目录,所以我们会使用切换目录命令(cd)通过切换到两个点来表示转到上级(Windows 中则是“向上”)。
1
#cd ..
那么一般这一个点这个没什么用处——或者说意义不大,所以 ls 默认不会显示这个目录,即隐藏掉了这个点,只留下了点点。
但一个目录里总有那么几个平时不用但必须存在的文件(比如配置文件配置目录之类的),能够隐藏可好?(终于有人发出了隐藏的需求!)
后来人们就发现ls 命令有个 bug,所有以点开头的名称好像都不会被显示呀!
所以这样隐藏文件的方法一来二去就传开了——时至今日,bug 变成了 feature。
😃