为什么 "cd -" 会这样?

Why does "cd -" behave as it does?

cd - 到底是做什么的? (更改目录命令,加上破折号)

我注意到如果我 运行 它在我的 /home/user 文件夹中重复输出 /home/user/home,如果我 运行 它会改变来自不同的文件夹。

cd 代表更改目录

它用于在您的文件夹中导航

因此,如果您在 /home/user 并且该目录中有一个名为 'top-secret' 的文件夹,您可以通过键入以下内容来访问它:

cd /top-secret
cd - 

从目录堆栈中弹出您所在的最后一个目录。这就像在浏览器上点击 "back"。

示例:

你在/user/alex

您可以使用以下方法进行测试: 密码 那给你 /user/alex

那么如果你这样做

%cd project1/subfolder
%pwd 
/user/alex/project1/subfolder
%cd subsubfolder
%pwd
/user/alex/project1/subfolder/subsubfolder
%cd - 
pwd 
/user/alex/project1/subfolder
cd - 
pwd 
/user/alex

注意:它不会返回文件夹层次结构中的上一级。它将转到上一个当前文件夹。 (上一级是 cd .. )。

语法

cd - 

允许您切换回 "last directory you were in when you changed to the current directory"。 运行 命令两次允许您切换回当前目录(因为当前目录将变为 "last directory you were in when you changed to the current directory")。

如果您在一个很长的目录中并且不想一遍又一遍地键入,然后转到另一个冗长的命名目录,这将非常有用。您无需重新键入,只需执行 'cd -',这类似于某些人使用 alt-tab(或 command-tab)在应用程序之间切换的方式。此组合键快捷方式可让您在最后两个应用程序之间进行实质性切换。