我在 Linux 终端中输入 cd -- ,它把我带到了一个我不认识的目录。 cd -- 带你去哪里?是你的根目录吗?
答案1
未给定参数时的默认操作cd
是移动到变量给定的目录$HOME
。这是由 POSIX 强制执行:
如果没有给出目录操作数并且 HOME 环境变量为空或未定义,则默认行为是实现定义的,并且不应采取进一步的步骤。
现在,--
是也是 POSIX 功能许多工具都使用它来指示选项的结束。这对于处理以-
例如开头的名称非常有用。例如,在这个目录中,我有一个名为-a
:
$ ls
-a
如果我尝试cat
这样做,我会得到:
$ cat -a
cat: invalid option -- 'a'
Try 'cat --help' for more information.
这就是--
出现的地方:
$ cat -- -a
These are the contents of file -a!
所以,在你的例子中,你只是cd
跟着运行--
来表示参数的结束,这转化为cd
没有参数的运行。结果就是你$HOME
就像cd
一个人跑步一样进入了你的状态,如果你已经进入了$HOME
,那么看起来好像什么都没有改变。 $ grep foo -a
我假设你实际上运行了cd --
而不是cd--
因为后者会给出更清晰的错误:
$ cd--
bash: cd--: command not found
除非您有自己的脚本或函数,cd--
在这种情况下我们无法知道发生了什么,但您会知道。
答案2
您应该能够使用以下命令更改目录cd /path/
我在网上发现这个讨论可能会有所帮助:https://askubuntu.com/questions/711390/what-does-cd-do-i-used-it-and-im-now-stuck-in-a-directory
答案3
cd 更改目录。如果您想退出该目录,可以键入cd ..
并按 Enter 键。
如果您输入的只是cd --
,那么您可能根本没有更改目录。
我希望这有帮助。