我希望能够输入前进/后退的终端命令,特别是如果我从具有超长名称的目录转到主目录(并且想要返回到具有超长名称的目录)。
答案1
该命令cd -
将带您返回到上一个目录。
另请查看pushd
和popd
命令,这些命令可用于基本上保存您所在目录的有序列表并返回到它们。
答案2
Pushd 和 Popd 非常有用。例如尝试
$ pushd somedir
当你完成后,就做
$ popd
然后你又回到了起点。
最好的部分是你可以做到
$ pushd somedir
$ pushd anotherdir
$ pushd onemoredir
然后你可以使用 popd 一次“退一步”。
祝你好运!
答案3
除了其他人提到的cd -
和pushd
之外popd
,还有cd $OLDPWD
。通常cd $OL<TAB>
就足够了,工作时自动完成。
当使用pushd
and时popd
,bash 的dirs
内置函数确实可以提供帮助,例如:dirs -v
打印目录堆栈,每行一个条目,并以其在堆栈中的位置号为前缀。尝试help dirs
更多。
请注意,如果您想要更改为名为 的目录-
(如果您有的话),上述功能会带来问题。你需要做的cd ./-
。更好的是,不要给你的目录起这样的名字。
答案4
有一个脚本,通过输入cd --
,允许用户在特定的 Bash shell 中切换到最后访问的十个目录之一。下面是它的使用示例:
lotzmana@safe$ cd work
lotzmana@safe$ cd scripts
lotzmana@safe$ pwd
/home/petarma/work/scripts
lotzmana@safe$ cd --
0 ~/work/scripts
1 ~/work
2 ~
lotzmana@safe$ cd -2
lotzmana@safe$ pwd
/home/petarma
该剧本由 Petar Marinov 发表在Linux 公报,第 109 期,2004 年 12 月也是一个月前地质城市。