【背景】
Linux的世界,和Windows的世界,很多规则都不同。
包括隐藏文件,的做法也是不一样的。
很多熟悉Windows的人,初次接触Linux,不了解这方面的背景,导致很多问题。
比如:
【问题解答】在python 中"/.bashrc"的意思 -> 只有具有了背景知识后,再去学习相关技术,才能搞明白背后的逻辑
所以此处来解释一下,关于Linux中的隐藏文件的做法。
Linux系统中,是通过加上前缀点’.’,表示文件是隐藏文件
先说Windows:
Windows系统,默认不显示隐藏文件,
你可以通过:
去实现:
将默认已经隐藏的文件(文件夹,磁盘)和操作系统相关的文件,都显示出来。
其背后的逻辑是:
Windows中,对于存储的文件,其文件的属性,是专门有对应的文件的元数据metadata的,
其中,表示隐藏hidden和系统system,的属性,就是放在元数据中的。
所以:
Windows中,无需在文件名方面,特殊考虑,以实现文件的隐藏;
但是:
Linux类的系统(即:*nix,包含Unix等系统),不是这么做的,不是这么设计的:
没有专门的文件的元数据去存储像文件是否隐藏的这类属性的
所以:
才用文件名,特殊处理:
在文件名前面加上一个前缀:字符’.’
用来表示:
该文件是隐藏文件。
Linux中的隐藏文件是什么意思?有何表现?如何显示出来隐藏的文件?
对应的,一般是:
取决于你(正在)使用何种工具去操作文件
比如,最最常见的,是查看文件,列表文件
即用ls去查看文件。
则,可以通过ls的-a参数,即-a=–all==显示所有文件(包括原先默认不显示的隐藏文件)
而使得可以显示出对应的隐藏文件的。
举例:
CLi@PC-CLI-1 ~ $ pwd /home/CLi CLi@PC-CLI-1 ~ $ ls -l total 4.0K drwxr-xr-x+ 1 Administrators Domänen-Benutzer 0 Sep 6 16:07 develop/ CLi@PC-CLI-1 ~ $ ls -la total 66K drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Oct 21 10:47 ./ drwxrwxrwt+ 1 CLi Domänen-Benutzer 0 May 14 2012 ../ -rw------- 1 CLi Domänen-Benutzer 22K Oct 21 10:53 .bash_history -rwxr-xr-x 1 CLi Domänen-Benutzer 1.5K Apr 26 2012 .bash_profile* -rwxr-xr-x 1 CLi Domänen-Benutzer 6.9K Sep 6 15:15 .bashrc* -rwxr-xr-x 1 Administrators Domänen-Benutzer 6.6K Aug 23 15:34 .bashrc.bak* drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 27 18:31 .buildroot-ccache/ drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Sep 6 18:22 .ccache/ drwx------+ 1 CLi Domänen-Benutzer 0 May 9 2012 .elinks/ -rwxr-xr-x 1 CLi Domänen-Benutzer 1.9K Apr 26 2012 .inputrc* -rw------- 1 CLi Domänen-Benutzer 48 Oct 21 10:47 .lesshst -rw-r--r-- 1 CLi Domänen-Benutzer 119 Aug 23 17:22 .minttyrc -rwxr-xr-x 1 CLi Domänen-Benutzer 1.3K Apr 26 2012 .profile* drwxr-xr-x+ 1 CLi Domänen-Benutzer 0 Aug 22 14:02 .subversion/ drwx------+ 1 CLi Domänen-Benutzer 0 May 10 2012 .w3m/ drwxr-xr-x+ 1 Administrators Domänen-Benutzer 0 Sep 6 16:07 develop/ CLi@PC-CLI-1 ~ $
如图:
其中可见:
当前文件夹:
/home/CLi
下面,有很多以点开头的文件,
ls默认是不显示的
通过
ls加上-a参数,就可以看到了。
注:
1.其中的.bashrc的含义,详见:
Windows中有文件的元数据可以保存文件是否隐藏的属性,而Linux中没有此设计:是不是说明Linux没Windows好?
此处,很明显是:
Windows中有文件的元数据可以保存文件是否隐藏的属性
而Linux中没有此设计:只能通过为文件名加前缀点,去表示文件是否隐藏
估计有人会问:
是不是就说明,Linux没Windows好呢?
答:
完全不是。
先单独来分析这个设计:
Windows设计了专门的元数据,用于存储文件是否隐藏的属性:
- 的确显得使用起来,貌似很符合逻辑,是个不错的优点,觉得此设计比Linux好
- 但是其缺点也很明显:对于每个文件,都会添加上对应的元数据,都会额外占用物理存储空间
- 当系统中文件数目很大的时候,总体上额外占用的空间,也不小
- 无形中,额外消耗了你的磁盘空间
- 对于在意的存储空间占用比较在意的人来说:
- 同样的文件,同样大小的文件:放在Linux中,总体上会比放在Windows中,占用更少的空间
- 即放在Windows中,占用空间更大,更消耗空间
- 从这点上看,至少算是缺点
- 当然,很多时候,很多普通用户,未必会注意到这个细节罢了
- 对于普通电脑用户,其实根本不关心这些细节的,所以此讨论,本身也没有太大的实际价值的
总结
先说对于普通人的结论:
“对于普通电脑用户,其实根本不关心这些细节的,所以此讨论,本身也没有太大的实际价值的”
再说技术对比:
没有孰优孰劣,只有:
什么样的人(是否在乎空间占用),在什么样的条件下(自己的文件是否很多),使用什么样的系统(是否喜欢或讨厌Windows或Linux),才会关注不同的点,不同的设计
只能算是:各有优劣,每个人,根据自己需求,选择最适合自己的系统而已。
不论是否喜欢或讨厌Linux:
至少多了解点技术细节,总是没有坏处的。
转载请注明:在路上 » 【整理】Linux系统中通过前缀加点,即.xxx表示隐藏文件