ls -ai
命令显示.
和..
的inode分别与当前目录和父目录相同。
有人能告诉我究竟.
和..
是什么?
他们是真实的文件甚至是硬链接吗?但据我所知,不允许创建指向目录的硬链接。
答案 0 :(得分:39)
.
表示您所在的目录,..
表示父目录。
这是添加到的短字符串(即字符序列) 文件的基本名称(即名称的主要部分)的结尾 或目录以指示文件或目录的类型。
在类Unix操作系统上,每个目录至少包含 由单个点表示的对象和由2表示的另一个对象 连续点。 前者指的是目录本身和 后者指的是其父目录(即目录 包含它。)这些项目都是自动创建的 目录,可以通过使用带有-a选项的ls命令看到 (指示它显示其所有内容,包括隐藏 项目)。
答案 1 :(得分:9)
它们是特殊的名称 - inode映射,它们被视为硬链接(它们确实会增加链接数),尽管它们不是真正的硬链接,因为正如您所说,目录不能有硬链接。在此处阅读更多内容:Hard links and Unix file system nodes (inodes)
答案 2 :(得分:0)
它们不是硬链接。您可以更多地认为这是(。)此目录的目录和(..)父目录的简写。
尝试删除或重命名。或..然后你明白为什么它不是一个硬链接。
答案 3 :(得分:-1)
.
表示您正在使用的当前目录
..
表示父目录。
例如:
假设您位于/etc/mysql
目录中,并且想要移至父目录,即/etc/
,然后使用cd..
/etc/mysql> cd ..
如果你想在当前目录bash文件中设置一个文件的路径,请使用文件名为{strong> ./ filename
的.