“cd ~ .”和“cd . ~”有什么区别?

“cd ~ .”和“cd . ~”有什么区别?

cd . ~在终端中尝试过,看到的结果与输入时相同cd ~ .

我想知道这是怎么做到的。或者更好地说,什么是优先事项的论点命令之后

答案1

你看到了相同的结果,因为我确信你从你的主目录测试了这些命令,这相当于- 参见/home/your_username~波浪号扩展$HOME环境变量。为了正确测试,您应该使用:

cd / ; cd . ~

和:

cd / ; cd ~ .

一般来说如果你使用:

cd first_directory second_directory

您将把 shell 工作目录更改为first_directory,而不是second_directory,因此命令中的第二个参数cd将被忽略(另请参阅help cd以更好地理解)。

并且.在这种情况下,(点)相当于pwd命令给出的 shell 当前工作目录的路径(参见当前目录的命令行快捷方式类似于主目录的〜?)。

所以cd . ~等价于cd ., 等价于cd $(pwd), 且cd ~ .等价于 ,cd ~等价于cd $HOME

答案2

由于您是从主目录运行它们,因此会给出相同的结果。尝试移动到 /tmp 以观察不同的行为。

cd仅考虑命令的第一个位置参数:

cd: usage: cd [-L|[-P [-e]]] [dir]

相关内容