【问题标题】:In unix, are dot and double dot path or directory?在unix中,点和双点路径还是目录?
【发布时间】:2020-08-19 03:50:11
【问题描述】:

也就是说,它们是否占用存储空间? dot 是当前目录的副本吗?我能说点和双点是当前目录的子目录吗?

【问题讨论】:

  • 它们是“指针”——一个指向当前目录 IE cd ./,另一个指向父目录 IE cd ../ 并且——如果你做一个ls -lah 你会看到这些指针究竟占用了多少空间
  • 此外,将它们视为“硬链接”会有所帮助,尽管它们不计入链接计数,因为从技术上讲,您无法硬链接目录。
  • 当您执行readdir 时,返回的前两个值是...,因此它们占用了两个目录条目。
  • @nullptr 正如我所说..它们不是目录..它们是目录的链接。更多解释和信息可以找到 --> teaching.idallen.com/dat2330/04f/notes/links_and_inodes.html
  • 从用户空间的角度来看,/usr/usr/./usr/bin/.. 是完全相同的目录。这种方式是“它们都不是目录,它们只是链接”还是“它们都是目录”取决于你对我的迂腐程度。

标签: linux unix directory path console


【解决方案1】:

目录在逻辑上是一个表,用于将名称映射到文件系统对象,例如文件或目录。文件可以有多个名称,并且可以位于多个目录中。额外的目录条目是指向同一文件的链接;文件本身不重复。目录也是如此。这 '。' entry 是一个总是映射到它所在目录的名称。'..' 映射到父目录,但在根目录的情况下它映射到自身。

【讨论】:

    猜你喜欢
    • 2013-11-12
    • 2011-03-29
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2012-07-17
    • 2011-12-19
    • 2018-12-18
    相关资源
    最近更新 更多