最新消息:20210917 已从crifan.com换到crifan.org

【整理】Linux系统中通过前缀加点,即.xxx表示隐藏文件

Linux crifan 3632浏览 0评论

【背景】

Linux的世界,和Windows的世界,很多规则都不同。

包括隐藏文件,的做法也是不一样的。

很多熟悉Windows的人,初次接触Linux,不了解这方面的背景,导致很多问题。

比如:

【问题解答】在python 中"/.bashrc"的意思 -> 只有具有了背景知识后,再去学习相关技术,才能搞明白背后的逻辑

所以此处来解释一下,关于Linux中的隐藏文件的做法。

Linux系统中,是通过加上前缀点’.’,表示文件是隐藏文件

先说Windows:

Windows系统,默认不显示隐藏文件,

你可以通过:

organize then folder and search options

show hidden files folders and drivers not hide os files

去实现:

将默认已经隐藏的文件(文件夹,磁盘)和操作系统相关的文件,都显示出来。

其背后的逻辑是:

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 ~
$

如图:

ls add a para to show all contain hidden files

其中可见:

当前文件夹:

/home/CLi

下面,有很多以点开头的文件,

ls默认是不显示的

通过

ls加上-a参数,就可以看到了。

 

注:

1.其中的.bashrc的含义,详见:

【整理】Linux系统中的~/.bashrc

 

Windows中有文件的元数据可以保存文件是否隐藏的属性,而Linux中没有此设计:是不是说明Linux没Windows好?

此处,很明显是:

Windows中有文件的元数据可以保存文件是否隐藏的属性

而Linux中没有此设计:只能通过为文件名加前缀点,去表示文件是否隐藏

估计有人会问:

是不是就说明,Linux没Windows好呢?

答:

完全不是。

先单独来分析这个设计:

Windows设计了专门的元数据,用于存储文件是否隐藏的属性:

  • 的确显得使用起来,貌似很符合逻辑,是个不错的优点,觉得此设计比Linux好
    • 但是其缺点也很明显:对于每个文件,都会添加上对应的元数据,都会额外占用物理存储空间
      • 当系统中文件数目很大的时候,总体上额外占用的空间,也不小
        • 无形中,额外消耗了你的磁盘空间
          • 对于在意的存储空间占用比较在意的人来说:
            • 同样的文件,同样大小的文件:放在Linux中,总体上会比放在Windows中,占用更少的空间
            • 即放在Windows中,占用空间更大,更消耗空间
              • 从这点上看,至少算是缺点
              • 当然,很多时候,很多普通用户,未必会注意到这个细节罢了
      • 对于普通电脑用户,其实根本不关心这些细节的,所以此讨论,本身也没有太大的实际价值的

 

总结

先说对于普通人的结论:

“对于普通电脑用户,其实根本不关心这些细节的,所以此讨论,本身也没有太大的实际价值的”

再说技术对比:

没有孰优孰劣,只有:

什么样的人(是否在乎空间占用),在什么样的条件下(自己的文件是否很多),使用什么样的系统(是否喜欢或讨厌Windows或Linux),才会关注不同的点,不同的设计

只能算是:各有优劣,每个人,根据自己需求,选择最适合自己的系统而已。

不论是否喜欢或讨厌Linux:

至少多了解点技术细节,总是没有坏处的。

转载请注明:在路上 » 【整理】Linux系统中通过前缀加点,即.xxx表示隐藏文件

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
88 queries in 0.206 seconds, using 20.14MB memory