什么是双点(..)和单点(.)?

问题描述 投票:0回答:4

ls -ai
命令显示
.
..
的inode分别与当前目录和父目录相同。

.
..
到底是什么?

它们是真实的文件还是硬链接?但据我所知,不允许创建目录的硬链接。

linux file unix directory
4个回答
73
投票

.
代表您所在的目录,
..
代表父目录。

点定义

这是一个短字符串(即字符序列),被添加到 文件基本名称的末尾(即名称的主要部分) 或目录以指示文件或目录的类型。

在类 Unix 操作系统上,每个目录至少包含: 一个对象由一个点表示,另一个对象由两个点表示 连续的点。 前者指的是目录本身,后者指的是 后者指的是其父目录(即 包含它)。 这些项目会在每个 目录,可以通过使用 ls 命令及其 -a 选项来查看 (指示它显示所有内容,包括隐藏的 项目)。


19
投票

它们是特殊的名称索引节点映射,它们确实算作硬链接(它们确实增加了链接计数),尽管它们并不是真正的硬链接,因为正如您所说,目录不能有硬链接。在这里阅读更多内容:硬链接和 Unix 文件系统节点 (inode)


8
投票

.
代表您正在使用的当前目录
..
代表父目录。

示例:

假设您在目录

/etc/mysql
中,并且想要移动到父目录,即
/etc/
。然后使用
cd..

/etc/mysql> cd ..

如果您想设置当前目录 bash 文件中的一个文件的路径,请使用

.
和文件名,如下所示:./filename


2
投票

它们不是硬链接。您可以更多地将其视为此目录 (.) 和此目录的父目录 (..) 的简写。

尝试删除或重命名

.
..
。然后你就明白为什么它不是硬链接了。

© www.soinside.com 2019 - 2024. All rights reserved.