在终端中,当使用cd命令更改目录时,如何定义要转到先前目录的键?
例如,我在/opt/soft/bin和我cd进/etc/squid3,我想回去的第一个目录。
在终端中,当使用cd命令更改目录时,如何定义要转到先前目录的键?
例如,我在/opt/soft/bin和我cd进/etc/squid3,我想回去的第一个目录。
Answers:
您可以使用
cd -
或者你可以使用
cd $OLDPWD
cd -。例如,当您键入内容时,cd /usr/local您知道自己在/usr/loal,但是当您键入cd -内容时,并不总是记住您来自哪个目录。因此,您无需输入cd -; pwd。但这全是猜测。
alias -- -='cd -'然后使用-(1个字符)而不是cd -(4个字符)。更快:D
cd -两次。难道cd /; cd /usr; cd -; cd -你应该在/usr。但也许我想念您的问题。
在直接答案的意义上,其他答案肯定是完整的。 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。
pushd在popd-ing时重复使用并返回到上一个文件夹。
dirs -v,但对我而言,现实情况是,通常情况下,这只是我真正使用的全部。(或者,更糟的是,在尝试push +2或类似的尝试时我犯了一个错误)此外,我还认为要让别人尝试工作流程的步骤很简单。:)
cd在不弹出的情况下到达堆栈顶部?
您应该使用:
cd ~-
它的作用与cd -(根据当前接受的答案)相同,但没有目录的讨厌回声,并且比cd "$OLDPWD"或易于键入cd - > /dev/null。
alias -- -='cd "$OLDPWD"'使用-(1个字符)而不是cd ~-(5个字符)。:)
您可以通过编辑“〜/ .bashrc”文件并为该命令添加别名来为“ cd-”“定义键”。例如,您可以添加“ cdc”使其成为“ cd-”,这将通过添加以下内容为您提供一种访问上一个目录的更短方法:
alias cdc='cd -'
这样,您只需键入“ cdc”,它将把您放在最后一个工作目录中。
bind '"\e[24~":"\C-k \C-ucd -\n"'或更优选地,将其移动到inputrc答案中提到的文件中)。