【问题标题】:Why does ls ~/.ssh work but not cd ~/.ssh? [closed]为什么 ls ~/.ssh 有效,但 cd ~/.ssh 无效? [关闭]
【发布时间】:2016-10-03 21:28:41
【问题描述】:

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

例如,这是我得到的:

> ls ~/.ssh
id_rsa  id_rsa.pub  known_hosts

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

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

?

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

我使用的是 Windows 8

【问题讨论】:

  • 您在 Windows 8 上使用ls
  • 也许这对你有帮助? stackoverflow.com/questions/26748579/…
  • CodyBugstein..Wat OS 你用的是win还是linux??
  • bashls 通常不由 Microsoft 提供。是否添加了 Cygwin 或 MSYS 等软件?

标签: bash cmd ls cd


【解决方案1】:

这个答案是假设您使用命令提示符来执行这些命令。

您可以ls 目录而不是cd 的原因是因为ls 命令来自您下载的使ls 在Windows 上工作的库。

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

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

【讨论】:

  • 啊,好吧,我不记得为ls 下载过任何东西。我怎样才能为cd 做同样的事情?
  • 你能帮我弄清楚我有什么ls 程序吗?
  • 好吧,我建议您整合您的环境。由于您尝试使用 unix 命令,请使用Cygwin。不要在 linux 和 windows 之间混合和匹配不同的可执行文件。即,如果您打算使用 unix 命令,请不要使用命令提示符:)
  • where ls 在几乎所有命令提示符中都会显示您的可执行文件所在的位置
  • cd %USERPROFILE%\.ssh 应该可以解决问题,假设您使用的是 cmd 并且 .ssh 文件夹位于您的用户配置文件下
猜你喜欢
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-17
  • 1970-01-01
  • 2022-01-07
  • 2018-04-11
  • 2021-08-28
相关资源
最近更新 更多