【问题标题】:What is the "." folder in my directory and where is it coming from? [closed]是什么 ”。”我的目录中的文件夹,它来自哪里? [关闭]
【发布时间】:2018-01-19 00:17:07
【问题描述】:

每当我在当前目录中执行ll -a -tr 命令时,我有时会找到一个名为“.”的目录。或“..”列出。随机创建的“。”目录有大小。

很明显,如果我这样做cd .,它只会让我留在当前目录中。如果我做vi .,它还会显示当前目录中的内容,但不一定是“。”文件夹。

这是我在执行ll -a -tr 后会看到的示例:

[user folder_name]$ ll -a -tr
drwxr-xr-x 5 user     4096 Jul 19 19:17 ..  <--- what is this and where did it come from?
drwxr-xr-x 2 user     4096 Jul 21 10:31 test
-rw-r--r-- 1 user     400  Aug  9 15:31 code.tcl
drwxr-xr-x 2 user    36864 Aug 10 11:04 Another_Folder
drwxr-xr-x 8 user     4096 Aug 10 11:07 .   <--- what is this and where did it come from?

两个箭头是否指向“..”和“.”与 bash 中的操作有关还是其他什么?如果它们是别的东西,它们是什么?

【问题讨论】:

  • 我更新了我的答案
  • 首先这个问题不属于这里,因为它与编程无关。其次,我无法想象在 unix/linux 类型的操作系统中没有得到“。”的任何情况。 ....这是当前目录。
  • 1.如果“。”在目录中找到与“。”相关的。操作,那么它与编程有关,因为“。”是 bash 脚本中使用的命令。 2.即使“。”假设存在于每个目录中,该评论并未解决“。”是什么的问题。是/

标签: linux bash command-line directory


【解决方案1】:

点 (.) 硬链接是目录条目的一部分,是支持路径导航/引用所必需的。

它用于引用相对于当前目录的位置的相对路径。相对路径使用两个特殊符号,一个点 (.) 和一个双点 (..),它们转换为当前目录和父目录。双点用于在层次结构中向上移动。一个点代表当前目录本身。

举个例子:

如果您在/home/Downloads 中并在终端中输入ls -a,它将显示:

.  ..   programs  stuff

ls -a/home/Desktop

.  ..  somefile

现在,假设您想将/home/Desktop 中的somefile 复制到/home/Downloads,并且您在路径/home/Downloads 中,您可以使用短名称:

/home/Downloads $ cp ../Desktop/file ./

所以,在这个例子中:

".." : 是/home 目录

"." : 是 /home/Downloads 目录

【讨论】:

  • 认为您的意思是“以前”而不是“预览”,只是为了澄清目的
  • @jmoon 完全正确,非常感谢纠正者...哈哈
  • 对不起,我听不懂你的回答。你能进一步澄清你的答案吗?
  • @Omneya 当然,我会再试一次
  • @Omneya 我更新了我的答案,我希望现在你能知道这是怎么回事 :)
猜你喜欢
  • 2011-11-11
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
  • 2012-05-30
相关资源
最近更新 更多