首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"cd ./“和"cd /.”有什么区别?

"cd ./“和"cd /.”有什么区别?
EN

Ask Ubuntu用户
提问于 2013-04-02 16:50:46
回答 3查看 7.7K关注 0票数 7

这两条命令意味着什么?

代码语言:javascript
运行
复制
cd ../
代码语言:javascript
运行
复制
cd /..

在第一个命令上的树和第二个命令的根目录上,我将结束两个目录。为什么会发生这种事?

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2013-04-02 16:59:25

目录/文件夹名称末尾的/是可选的。大多数情况下,包括或省略目录名称中的最后斜杠都不会改变命令的效果。

所以cd ../等同于cd ..

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

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

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

因此,cd ../cd ..将目录更改为当前目录的父目录。因此,如果您从/home/fazlan中开始并运行cd ..cd ../,您最终将进入/home

相反,/..是一条绝对路径(尽管是一条不寻常的路径)。/是文件系统的根目录--如果您一路在目录层次结构中向上,您就可以访问这个目录。(使用相同的父级和子级隐喻,我们说/是文件系统中所有东西的祖先。)

由于..的意思是“该目录的父目录”,而/的意思是“文件系统的顶部”,所以/..的意思是“文件系统顶部的父目录”。

但是,谈论包含/的目录意味着什么呢?/是个例外。由于没有包含它的目录,我们说/'s的父级是它本身,因此,在/中,../,因此/../是相同的。

这就是为什么cd ../从您开始的位置为您提供一个目录,而cd /..则将您带到最顶层。做这些事情的更优雅和容易理解的方法分别是cd ..cd /

票数 13
EN

Ask Ubuntu用户

发布于 2013-04-02 16:56:18

第一条是相对路径。第二条是绝对路径。

那个..。在这个论点中,运算符意味着向上移动一个。

不在前面的斜杠表示子目录名称的划分.

前面的斜杠表示“这是一个绝对路径,从根目录开始。”那个..。因为你不能再退却了。(有一段时间,有很多这样的允许你打破色度)

票数 2
EN

Ask Ubuntu用户

发布于 2013-04-02 17:00:11

单点(.)表示当前目录。实际上,如果您执行了一个cd .,它将把您放到当前目录中(这看起来什么也不做)。如果要将某些内容从/dir1复制到当前的dir,您可以这样做:

代码语言:javascript
运行
复制
cp /dir1/somefile.txt .

执行cd ..会使您获得一个目录级别。cd ../也是这样做的。如果你想上升两个层次,你会在最后再加两个点,如下所示:

代码语言:javascript
运行
复制
cd ../..

要返回根目录,可以执行一个cd /。现在假设我执行了以下操作:

代码语言:javascript
运行
复制
cd /dir1/dir2/dir3/..

这将我放在/dir1/dir1 2目录中,因为(正如我们前面所建立的) ..告诉它上升一个级别。所以它到了dir3,然后上升了。

通过调用一个cd /..,您正在告诉它转到根目录/,然后上升一个级别,这是它无法做到的。所以它实际上是把你留在根目录下,而不是。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/277188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档