在终端中,如何定义一个键来转到使用命令更改目录时所在的上一个目录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, dir2
。 popd
会做同样的事情,但会给你留下一个空的目录堆栈。这与您使用cd -
工作流程的方式没有太大不同。
但是,现在您可以多次更改目录并返回到dir1
.例如,
$ cd dir1
$ pushd dir2
$ cd dir3
如果你popd
在这个时候跑,你会回到dir1
。
答案3
你应该使用:
cd ~-
它的作用与(来自当前接受的答案)相同cd -
,没有令人讨厌的目录回声,并且比cd "$OLDPWD"
or更容易键入cd - > /dev/null
。
答案4
cd -
您可以通过编辑~/.bashrc
文件并包含命令的别名来“定义密钥” 。例如,您可以添加cdc
make 它cd -
,这将为您提供一种更短的方式来通过添加以下内容来到达最后一个目录:
alias cdc='cd -'
这样,您只需键入cdc
即可将您置于最后的工作目录中。