shell 如何在Bash中快速返回到上一个工作目录?

9vw9lbht  于 12个月前  发布在  Shell
关注(0)|答案(7)|浏览(175)

当我用cd命令切换到一个目录时,我会丢失以前的工作目录,除非我在记忆中记住它。有什么方便的方法可以快速返回吗?
演示:

$ cd ~/some_path
$ cd /another_path
$ command_to_go_back_to_some_path

字符串

guz6ccqo

guz6ccqo1#

您可以使用cd -返回到最后一个目录

iqjalb3h

iqjalb3h2#

你也可以这样做

$ pushd ~/some_path
$ pushd /another_path
$ popd 
$ popd

字符串

fwzugrvs

fwzugrvs3#

如前所述,您可以使用cd -。shell内部执行cd $OLDPWD

fiei3ece

fiei3ece4#

在脚本中使用时,可以使用OLDPWD shell变量:它包含以前的工作目录。

$ pwd
/home/username
$ cd /usr/bin
$ pwd
/usr/bin
$ cd "$OLDPWD"
$ pwd
/home/username

字符串
在脚本中,我更喜欢使用cd -,因为我不必抑制任何输出。

nvbavucw

nvbavucw5#

如果你想在脚本中使用它并抑制输出,请执行以下操作:

cd - > /dev/null

字符串

kkbh8khc

kkbh8khc6#

Bash有一个快捷方式~-,可以扩展到前一个工作目录,就像~+扩展到当前工作目录一样:

cd ~-

字符串
虽然这比cd -更容易输入,但这一知识在其他上下文中也很有用(例如,用mv foo bar baz ~-重命名文件)。

ygya80vv

ygya80vv7#

是的,在终端中使用cd后,有几种方便的方法可以快速导航回上一个目录:

cd -

cd -命令将带您返回到上次所在的目录。您可以将其视为在当前目录和上一个目录之间切换的快捷方式。

pushd和popd

pushd允许你把目录压入一个堆栈,就像你cd到它们一样,而popd则把它们弹回来。
举例来说:

~ $ pwd
/home/user

~ $ cd folder1
/home/user/folder1 $ pushd folder2
/home/user/folder1/folder2 ~ $ pwd 
/home/user/folder1/folder2

~ $ popd
/home/user/folder1 $ pwd
/home/user/folder1

字符串

相关问题