在终端中,如何使用cd命令更改目录时如何定义要转到先前目录的键?

例如,我在/opt/soft/bin中,并且我将cd转换为/etc/squid3,我想回到第一个目录。

评论

这回答了你的问题了吗?更改到上一个目录的bash快捷方式是什么?

#1 楼

您可以使用
cd -

,也可以使用
cd "$OLDPWD"


评论


知道为什么使用“ cd-”时将目录名打印到控制台吗?

– dtmland
15年8月31日在23:56

可能是由于旧的shell在提示符下未显示当前目录的名称,因此在键入cd-时查看目录名称会很有帮助。例如,当您键入cd / usr / local时,您知道自己在/ usr / loal中,但是当您键入cd时-您并不总是记住您来自哪个目录。这样可以避免您键入cd-;密码但这全是猜测。

–拉斐尔·阿伦斯(Raphael Ahrens)
2015年9月1日下午4:37

或者,您可以使用别名:将别名设置为别名--='cd-',然后使用-(1个字符)代替cd-(4个字符)。更快:D

– ADTC
16年2月16日在4:38

没有这个我怎么能过?

–VSZM
18年6月7日在7:45

@AndréKuhlmann您可以做CD-两次。做cd /; cd / usr; cd-; cd-您应该位于/ usr中。但也许我想念您的问题。

–拉斐尔·阿伦斯(Raphael Ahrens)
19年1月7日在19:42

#2 楼

在直接答案的意义上,其他答案肯定是完整的。 cd -cd $OLDPWD绝对是此的主要选择。但是,我经常发现使用pushdpopd进入工作流程效果更好。

长话短说,如果您要进入的目录最终目的是回到起始位置,请使用pushd / popd

扩展示例

通过示例可以轻松说明主要区别。

$ cd dir1
$ pushd dir2


此时,您有一个目录堆栈dir2, dir1。不带任何参数运行pushd将使您回到dir1,现在堆栈为dir1, dir2popd会执行相同的操作,但是会留下一个空的目录堆栈。这与使用cd -工作流程的方式并没有太大不同。

但是,现在您现在可以多次更改目录并返回到dir1。例如,

$ cd dir1
$ pushd dir2
$ cd dir3


如果此时运行popd,将返回到dir1

评论


您还可以堆叠目录,因此在弹出时重复使用pushd并返回到上一个文件夹。

–伯恩哈德
2013年6月30日19:08

当然。我几乎举了一个大例子,其中包括使用dirs -v检查堆栈,但对我而言,现实情况是,通常我只使用简单的情况。 (或者,更糟的是,在尝试推+ 2或类似操作时我犯了一个错误)另外,我还认为要让别人尝试工作流程很简单。 :)

–乔什·贝瑞(Josh Berry)
13年7月1日在2:53

您如何在不弹出的情况下CD到堆栈的顶部?

–乔恩·迪顿
19年9月11日,0:46

您是否需要使用popd?您不仅可以将CD推到任何地方吗?这样做有什么不利之处吗?

–普罗米修斯
19年11月12日16:35



@Prometheus,如果只是您周围的CD也不需要推动。想法是稍后使用pop检索位置。

–傻瓜
20年8月18日在15:27

#3 楼

您应该使用:

cd ~-


它与cd -相同(来自当前接受的答案),没有目录的讨厌回声,并且比cd "$OLDPWD"cd - > /dev/null更易于键入。

评论


将echo重定向到null文件!天才!

– Ram
16年2月11日在6:19

回显将显示新目录,而不是前一个目录。而且我会发现它很有用,这样我就知道我现在的位置,特别是如果我在仅在提示符下显示当前目录名称(或根本不显示任何内容)的外壳中,并且我也无动于衷地更改提示显示完整路径。当然,如果您的提示已经显示了完整路径,则回声将是多余且令人讨厌的。在那种情况下,我认为您可以尝试使用别名--='cd“ $ OLDPWD”',然后使用-(1个字符)代替cd〜-(5个字符)。 :)

– ADTC
16-2-16在4:37

来源和解释:unix.stackexchange.com/a/330885/38213剧透,-是操作数,〜是路径别名。因此cd〜-/ ..可以工作,但cd-/ ..却不能!

–雷·福斯(Ray Foss)
19年6月7日在14:27

#4 楼

$ cd - 


将更改为上一个工作目录。

#5 楼

您可以通过编辑cd -文件并为命令添加别名来为~/.bashrc“定义键”。例如,您可以添加cdc使其成为cd -,这样可以通过添加以下内容为您提供更短的路径以获取最后一个目录:

alias cdc='cd -'


这种方式您只需键入cdc,它将把您放在最后一个工作目录中。

评论


当您使用没有该别名的系统时,请使您永无止境。节省了每隔一段时间输入一个字符的时间。为什么还要打扰?

–用户
13年7月1日在14:16

“在终端机中,如何定义要转到先前目录的键”我从来不会感到困惑。它只是一个捷径,当您在另一个系统上时,只需使用长久的方法即可。

– Atari911
2013年7月1日19:25



@ Atari911很好的问题!这是答案:stackoverflow.com/questions/4200800这是我所做的(绑定F12):绑定'“ \ e [24〜”:“ \ Ck \ C-ucd-\ n”'(或更可取的是将其移动到inputrc答案中提到的文件)。

– ADTC
16年2月16日在5:00

#6 楼

cd ..转到文件夹树中的上一个文件夹。 cd -转到之前的文件夹。此命令在某些发行版(ubuntu 16.04)上不起作用,在debian 9中有效。