Git Bash(在 VS Code 终端中)中出现“ls:无法打开目录‘.’:没有此文件或目录”

Git Bash(在 VS Code 终端中)中出现“ls:无法打开目录‘.’:没有此文件或目录”

我在 Visual Studio Code 中的 Git Bash 终端中工作。出于某种原因,当终端的行为发生变化时,如果我执行ls,结果将是

ls: cannot open directory '.': No such file or directory

重新启动新终端可以解决问题,所以我不需要帮助来修复它,但我想知道为什么这甚至可能。当前目录怎么可能.不存在?

答案1

当当前工作目录被删除或者移离你当前工作目录时,就会发生这种情况。

使用两个终端/会话的示例(我将在每个命令前面放置一个无操作: 1;和来指示您应该使用哪个会话;您甚至可以安全地复制和粘贴这些提示):: 2;

: 1; mkdir -p /tmp/dir/sub
: 1; touch /tmp/dir/sub/{1..4}.txt
: 1; ls /tmp/dir/sub

此时,您可以在第一个会话中看到我们有四个(空)文件,1.txt4.txt。现在切换到第二个会话:

: 2; cd /tmp/dir/sub
: 2; ls

正如您所期望的,您也可以在这里看到这四个文件。现在我们将目录从会话 2 下移出:

: 1; mv /tmp/dir/sub /tmp/dir/other
: 1; ls /tmp/dir/other

您仍然可以看到这些文件,但我们已将目录从 重命名subother。让我们在第 2 节中回顾一下:

: 2; ls
ls: cannot open directory '.': No such file or directory

哎哟!让我们检查一下我们认为应该在哪里,然后尝试改回当前目录:

: 2; pwd
/tmp/dir/sub

: 2; cd "$(pwd)"
-bash: cd: /tmp/dir/sub: No such file or directory

好吧。此会话现已丢失。最好的办法是从(新的)正确目录重新开始:

: 2; cd /tmp/dir/other
: 2; ls
1.txt  2.txt  3.txt  4.txt

相关内容