什么是仅点命名的文件夹?

zig*_*rat 8 hidden-files directory

我知道点文件或文件夹是什么,但是每个目录中都有一个特定的点命名文件夹(名称只是一个点)。它们是做什么用的?

例如,这里是我的“bin”文件夹的一部分。看第一条牵引线。

drwxr-xr-x  2 root root 4.0K Jul 29 12:39 .
drwxr-xr-x 23 root root 4.0K Jul 29 12:37 ..
-rwxr-xr-x  1 root root 904K Mar 30 20:02 bash
-rwxr-xr-x  1 root root  30K Aug  3  2012 bunzip2
...
Run Code Online (Sandbox Code Playgroud)

Eli*_*gan 18

每个目录包含一个.和一个..条目。

.表示目录本身。它被称为当前目录。

..表示目录的父目录,即包含它的目录。

有一个目录不包含在任何其他目录中:/. 所以/很特别——像所有其他目录一样,它包含一个..条目,但它的..条目是它本身。所以对于/,并且仅对于/...是等价的。

这些目录条目可用于多种用途。例如,您可以使用命令将目录更改为当前所在目录的父目录cd ..

您可能已经.在运行程序或脚本的上下文中看到过。在 Unix 风格的 shell 中,当您按名称运行命令时,shell 不会自动尝试按当前目录中的名称运行程序。(这对于一些来自 Windows 的用户来说令人惊讶,传统上会发生这种情况。)这样做的主要原因是安全性——如果有人在他们的目录中创建了一个与某些系统管理工具同名的程序,并且你运行它工具,而在他们的目录中,他们可能只是诱骗您运行他们的程序。

因此,要运行一个程序,它是不是在你的PATH,你必须具有一些名字来称呼它/在里面。要在当前目录中运行程序,您可以使用./program. (您不能使用/program,因为这是一个绝对路径,表示“program在根目录中调用的文件,/.”)


归档时间:

查看次数:

24151 次

最近记录:

4 年,10 月 前