这是“cd ~”之间的区别。和“cd .~”

Moh*_*ani 2 command-line

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

我想知道这是如何做到的。或者更好地说明命令之后的参数的优先级是什么?

Rad*_*anu 5

您看到了相同的结果,因为我确定您从主目录测试了这些命令,这相当于- 请参阅Tilde Expansion或环境变量。要正确测试,您应该使用:/home/your_username~$HOME

cd / ; cd . ~
Run Code Online (Sandbox Code Playgroud)

和:

cd / ; cd ~ .
Run Code Online (Sandbox Code Playgroud)

一般来说,如果您使用:

cd first_directory second_directory
Run Code Online (Sandbox Code Playgroud)

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

.在这种情况下,(点)与pwd命令给出的 shell 当前工作目录的路径等效(请参阅当前目录的命令行快捷方式类似于 ~ 主目录?)。

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