使用 cd
命令进入一个目录后,如果没有记住之前的工作目录,就无法快速返回。是否有一种方便的方法可以快速返回之前的工作目录?
示例:
$ cd ~/some_path
$ cd /another_path
$ command_to_go_back_to_some_path
你可以通过cd -
返回上一级目录。
你也可以这样做
$ pushd ~/some_path
$ pushd /another_path
$ popd
$ popd
如前所述,您可以使用cd -
。Shell 内部执行cd $OLDPWD
命令。
如果要在脚本中使用,您可以使用OLDPWD
shell变量:它包含上一个工作目录。
$ pwd
/home/username
$ cd /usr/bin
$ pwd
/usr/bin
$ cd "$OLDPWD"
$ pwd
/home/username
在脚本中,我更喜欢使用这种方法而不是cd -
,因为我不必抑制任何输出。
(cd /usr/bin && pwd)
等等。 - undefined如果您想在脚本中使用它并抑制输出,请按以下方式操作:
cd - > /dev/null
~-
,它会扩展为上一个工作目录,就像~+
扩展为当前工作目录一样。cd ~-
cd -
要多打几个字,但这个知识在其他情境中也很有用(例如,使用mv foo bar baz ~-
重命名文件)。$OLDPWD
,它也不会生成任何输出,因此既简短又没有cd -
可能不需要的输出。 - undefined~ $ 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
dirs
、popd
和pushd
维护一个目录栈。更多信息请查看此处:http://www.talug.org/events/20030813/cmdline_tips_n_tricks_aug03.html - Darragh Enright