cd
在终端使用该命令时,如果我输入类似以下内容的内容,则会收到“没有此目录”错误
cd /directory/whatever/
但是当我输入类似
cd \directory/whatever/
它运行良好。
无论我是在主目录中还是在另一个目录中,都会发生这种情况。
而且,这似乎只适用于诸如Downloads
、、Pictures
之类的目录以及我自己创建的目录。诸如usr
和之类的目录etc
不存在此问题。
这可能是什么原因造成的?我怎样才能使其恢复正常?
答案1
cd /directory/whatever/
用途完整路径名,从最顶层目录开始/
。通常只有具有 root/sudo 权限级别的用户才能在那里创建目录,因此很可能directory
不/
存在,因此出现错误。
cd \directory/whatever/
用途相对路径名- 相对于当前工作目录。终端从用户的主目录开始,也就是或所报告的/home/$USER
内容相同。您可能已经在主目录中创建了子目录。等效的将是,其中表示当前工作目录链接。pwd
echo $PWD
directory
whatever
cd ./directory/whatever
./
至于\d
使用斜线作为转义字符,这在这里是不必要的,但在文件名包含 shell 视为具有不同含义的特殊字符的情况下是必要的。例如,cd with\ space
和cd 'with space'
是相同的 - 一个字符串作为 的参数cd
。相比之下,cd with space
是两个不同的字符串作为 的参数cd
(因为未转义的空格在 shell 中被视为单词分隔符,也称为单词拆分),当然它会导致错误