如何在终端中转到上一个工作目录?

如何在终端中转到上一个工作目录?

在终端中,如何定义一个键来转到使用命令更改目录时所在的上一个目录cd

例如,我进入/opt/soft/bin并且我cd进入/etc/squid3并且我想返回到第一个目录。

答案1

您可以使用

cd -

或者你可以使用

cd "$OLDPWD"

答案2

其他答案在直接答案意义上绝对是完整的。 cd -并且cd $OLDPWD绝对是主要选择。然而,我经常发现使用pushd和进入工作流程popd效果更好。

长话短说,如果您进入一个目录的最终目的是回到开始的位置,请使用pushd/ popd

扩展示例

通过一个例子可以很容易地看出主要的区别。

$ cd dir1
$ pushd dir2

此时,您就有了一个目录堆栈dir2, dir1。不带参数运行pushd将使您现在回到dir1堆栈中dir1, dir2popd会做同样的事情,但会给你留下一个空的目录堆栈。这与您使用cd -工作流程的方式没有太大不同。

但是,现在您可以多次更改目录并返回到dir1.例如,

$ cd dir1
$ pushd dir2
$ cd dir3

如果你popd在这个时候跑,你会回到dir1

答案3

你应该使用:

cd ~-

它的作用与(来自当前接受的答案)相同cd -,没有令人讨厌的目录回声,并且比cd "$OLDPWD"or更容易键入cd - > /dev/null

答案4

cd -您可以通过编辑~/.bashrc文件并包含命令的别名来“定义密钥” 。例如,您可以添加cdcmake 它cd -,这将为您提供一种更短的方式来通过添加以下内容来到达最后一个目录:

alias cdc='cd -'

这样,您只需键入cdc即可将您置于最后的工作目录中。

相关内容