为什么 ls ~/.ssh 有效但 cd ~/.ssh 无效?

Why does ls ~/.ssh work but not cd ~/.ssh?

如果 ls 命令列出目录的内容,那么 ls <directory 的某些输出似乎表明目录存在。

例如,这是我得到的:

> ls ~/.ssh
id_rsa  id_rsa.pub  known_hosts

但是为什么当我输入 cd ~/.ssh 时得到

> cd ~/.ssh
The system cannot find the path specified.

?

为什么我可以列出该目录的内容但不能导航到它?

我正在使用Windows8

此答案假设您正在使用命令提示符执行这些命令。

您可以 ls 目录但不能 cd 的原因是因为 ls 命令来自您下载的库,该库使 ls在 windows.

上工作

相比之下,您的 cd 命令是从 Windows 执行的,而不是从您下载的库执行的。

简而言之,ls 知道如何将波浪号 (~) 解析为 home,但 windows 不知道如何解析 ~。试试看:cd ~。它不会工作。