怎么可能在 /home `ls` 返回 `valo` 而 `cd /valo` 返回 `No such file or directory`?

Val*_*alo -1 filesystem command-line directory

文件夹怎么可能不在同一时间?

valo@Castor:~$ cd /home
valo@Castor:/home$ cd /valo
bash: cd: /valo: No such file or directory
valo@Castor:/home$ ls
valo
valo@Castor:/home$ cd /valo
bash: cd: /valo: No such file or directory
valo@Castor:/home$
Run Code Online (Sandbox Code Playgroud)

终端形象

小智 8

评论建议但未说明的是,在/名称之前键入的字符valo使系统将该目录valo作为/文件系统的子目录或根目录进行查找。

cd命令要记住的一点是,它将根据输入的路径查找“相对”路径或“绝对”路径。当输入的路径以 a 开头时,/它会查找绝对路径,这意味着它从文件系统的根目录开始。当角色是其他任何东西时,它会寻找从当前位置开始的路径。

在您的示例中,当您输入/home并键入时,cd /valo它会查找/(filesystem root)的绝对路径,该路径valo不存在。如果键入cd valovalo在当前目录中查找。如果它在/home目录中,它会找到它。