![什么是点文件?](https://linux22.com/image/1037522/%E4%BB%80%E4%B9%88%E6%98%AF%E7%82%B9%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我很难理解点文件是什么以及它们的用途。它们是目录吗?我如何导航到它们?
答案1
在 Unix/Linux 中,点文件是指.
名称前面带有 的文件/目录。例如~/.bashrc
,~/.bash_profile
等。前导点.
被 bash 和 nautilus 等软件用作指示,通常不列出这些文件,而仅在特别请求时列出,例如在 Nautilus 中按Ctrl+ H。这是因为,通常,点文件用于存储不同应用程序的配置,但有时也用于其他用途。例如,Mozilla 会创建一个.mozilla
文件夹,其中包含其配置文件以及浏览器缓存。
人们倾向于备份并共享他们的点文件,以便其他人可以使用这些配置文件引导自己的应用程序。专门用于共享点文件的网站示例是http://dotfiles.org。
答案2
如果您指的是文件名前面有 . 的话... 该文件是隐藏的。除非您让计算机显示隐藏文件和文件夹,否则它不会显示出来。
尝试创建一个新文件夹,并将其重命名为以 . 开头的名称,然后观察它消失。
答案3
点文件是隐藏的,正如 Daniel 和 Sai 之前所说。如果您列出目录中的文件,它们通常不会显示出来。
在一个图形用户界面,主要是文件打开/文件保存对话框,您点击鼠标右键,就会出现一个上下文菜单,允许您show hidden files
。
以下是如何在 shell 中处理它们:
例子:
$ > touch a b c .d .e f.f g.
(生成的测试数据)
$ > wc -l *
0 a
0 b
0 c
0 f.f
0 g.
0 total
如您所见,第一个命令没有显示.d 和.e
$ > wc -l .*
wc: .: Is a directory
0 .
wc: ..: Is a directory
0 ..
0 .d
0 .e
0 total
wc -l .*
显示它们和 2 个特殊文件,.
即 PWD、当前工作目录以及..
pwd 的父目录。
$ > wc -l .* *
wc: .: Is a directory
0 .
wc: ..: Is a directory
0 ..
0 .d
0 .e
0 a
0 b
0 c
0 f.f
0 g.
0 total
wc -l * .*
适用于普通文件和隐藏文件(再次重复 PWD 和上层目录,但对于其他命令,* .* 可能更合适,例如
find -type f \( -name "*" -or -name ".*" \) -execdir wc -l {} ";"
这将不会显示目录.
和..
。
如果您使用 Firefox 进行文件系统浏览,file://home/joe 您将有一个选项框来显示/隐藏这些文件。
答案4
从 GUI 角度来看,如何导航到它们的问题没有得到解答。在 nautilus 中按 Ctrl-H,您将在该 nautilus 窗口中切换“.”文件和文件夹的可见性。在“查看文本”菜单中还有一个可见性选项。