“cd ../”与“cd /..”有什么区别?

Faz*_*lan 7 filesystem directory cd-command

这两个命令是什么意思?

cd ../
Run Code Online (Sandbox Code Playgroud)
cd /..
Run Code Online (Sandbox Code Playgroud)

我在第一个命令的树和第二个命令的根目录中结束了两个目录。为什么会这样?

Eli*_*gan 12

一个/结束一个目录/文件夹的名称是可选的。大多数情况下,在目录名称中包含或省略最后一个斜杠不会改变命令的效果。

所以cd ../相当于cd ...

不以 a开头的/路径是相对路径;它们是相对于当前目录解析的。

每个目录都有两个特殊条目:

  • 一个名为的目录条目.解析为目录本身
  • 一个名为的目录条目..解析为目录的目录(即包含该目录的目录)

因此cd ../cd ..将目录更改为当前目录目录。因此,如果您从或开始/home/fazlan运行,您将在.cd ..cd ..//home

相反,/..绝对路径(尽管不寻常)。/是文件系统根目录——如果您一直在目录层次结构中向上,您将到达的目录。(使用相同的父母孩子的比喻,我们说/的是祖先在文件系统中的一切。)

因为..意思是“这个目录的父目录”,/意思是“文件系统的顶部”,意思是“文件系统顶部/..的父目录”。

但是谈论包含 的目录是什么意思/?嗯,/是个例外。由于没有目录包含它,我们说它/的父目录是它自己。因此,在/../。因此,/..与 相同/

这就是为什么cd ../从您开始的地方带您到一个目录,同时cd /..带您到最顶层的原因。更优雅和易于阅读的方法分别是cd ..cd /