当我用ls -a文件夹查看隐藏文件有默认情况下这是什么两个文件的意义创建2个隐藏文件.和..?
ls -a
Run Code Online (Sandbox Code Playgroud)
生产
. ..
Run Code Online (Sandbox Code Playgroud)
dv3*_*0ea 41
. 是当前文件夹。
.. 是当前文件夹上方的文件夹 - 包含当前文件夹的文件夹。
当有人想要从他们的主目录运行脚本时,您有时会看到正在使用的单个点。例如:./install-app.sh。这意味着文件“install-app.sh”位于当前目录中。执行 /home/username/directory/install-app.sh 同样有效。同样,如果文件在父目录中,您也可以执行 ../install.app 。之所以采用这种方式,不仅是为了导航,还在于不可能仅仅通过错误命名主目录中的文件来意外隐藏系统应用程序。
这些是指向自身 (.) 和父 (..) 目录的硬链接。它们是在您创建目录时创建的。它们永远不能被删除(不删除它们指向的目录)。
如果创建目录:
mkdir /tmp/foo
Run Code Online (Sandbox Code Playgroud)
你可以看到,实际上有 2 个指向 /tmp/foo 的硬链接:
drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
^---- two hardlinks
Run Code Online (Sandbox Code Playgroud)
第一个来自 /tmp/ 目录,指向 /tmp/foo,第二个是 '.' 在 /tmp/foo/ 指向它自己。