首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么./home/Desktop不正确./Desktop是正确的?

为什么./home/Desktop不正确./Desktop是正确的?
EN

Unix & Linux用户
提问于 2015-05-16 07:48:39
回答 4查看 2.6K关注 0票数 2

我正在学习Linux,从昨天开始。我有一个问题,我无法回答从我的书或谷歌。.//在shell中有什么区别?

我之所以问这个问题,是因为当我运行命令./home/yogesh/Desktop/Books时,我会得到以下错误:

代码语言:javascript
复制
bash: ./home/yogesh/Desktop : No such file or directory

但是,在移除点时,它会给出

代码语言:javascript
复制
/home/yogesh/Desktop/Books : Is a directory

或者,如果我运行/Desktop,它会返回

代码语言:javascript
复制
/Desktop : No such file or directory

但是在/之前添加一个点,我得到

代码语言:javascript
复制
./Desktop: is a directory

.//有什么区别?

EN

回答 4

Unix & Linux用户

发布于 2015-05-16 08:06:34

在unix上(像在Windows上一样),/foo是文件或目录的位置(绝对位置,来自根目录:/)。而./foo是一个相对位置(相对于当前目录).您可以省略前面的点+斜杠,只需编写foo

通过输入命令/Desktop./Desktop,可以告诉shell执行桌面.是不能执行的。

/Desktop不存在,因此出现了错误消息。

./Desktop,即/Home/YOURNAME/Desktop的绝对位置,确实存在。但这是个目录不是可执行文件..。您可能忘记了要运行的命令(通常是cdls)前缀。

票数 1
EN

Unix & Linux用户

发布于 2015-05-16 08:07:12

样本说明:

/ (斜杠)的意思是根,从文件系统的根。因此,/home/yogesh/Desktop/Books从根开始,然后检查home,在home下检查yogesh等等。这被称为绝对路径。

. (点)意味着从当前目录开始。因此,如果您的当前目录是/home/yogesh,并且您检查了./Desktop,那么它就在那里。这被称为相对路径。

票数 1
EN

Unix & Linux用户

发布于 2015-05-16 13:37:02

在Unix和类Unix系统上,.表示当前目录.例如,ls .ls相同,它将列出当前目录的内容。因此,当您使用./Desktop作为命令时,它会找到一个名为Desktop的目录,该目录位于当前目录下。然后,您会得到一个错误,告诉您这是一个目录,因此不能执行,因为它不是命令。

/是文件系统的根。它类似于Windows上的C:\。运行/Desktop时,系统将查找/目录中的一个名为Desktop的目录。它并不存在,它告诉你。

例如,如果我在/home/yogesh中,我想去/home/yogesh/Desktop,我可以使用相对路径(相对于我现在所在的目录)并运行cd ./Desktopcd Desktop,或者我可以使用绝对路径并运行cd /home/yogesh/Desktop

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

https://unix.stackexchange.com/questions/203750

复制
相关文章

相似问题

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