如何撤消上一个cd命令?
在对不同的目录执行cd
之后,有没有办法跳回到上一个工作目录?
我的用例是我正在遍历Java项目的目录结构,我希望当前目录只有一个子目录。 所以,我输入cd
并快速点击Tab和Enter 。 但是, Tab失败了,因为我错误地预期了一个子目录,实际上还有更多。 所以现在,我刚刚执行了cd
,现在在我的主目录中,而不是Java项目。 有没有办法“撤消”这个cd
并跳回我所在的目录?
你可以使用cd -
返回你以前的位置,无论它在哪里。
cd -
非常适合返回一个级别,但如果您发现自己想要返回几个级别,请查看此脚本:
acd_func.sh
这很棒。 cd --
查看你的历史记录,然后cd -3
返回3个级别。
您还可以使用pushd
和popd
来利用目录堆栈:)
这里有一些信息
另外, cd ..
可以带你回到工作目录的父目录,然后必要时可以重复命令直到你到达你想去的地方。 事实上,每次被唤起它都会带你回到目录树, 如果你只是不断重复命令,它最终会在/
(根目录)完成。
相反 , cd -
实际上使前一个工作目录成为当前工作目录(称为.
),并且可以使用pwd
找到文件系统中的确切位置。
所以cd ..
和cd -
在导航目录树时在不同情况下都很有用,尽管它们在上述方面确实不同 。 尝试使用这两个命令后,最有用的命令可能是cd
,它会返回到主文件夹。
返回的最佳方式是cd -
但是如果你想一次跳过很多级别,你最好使用cd ..
一个级别, cd ../..
,两个, cd ../../..
for three and on …一个很好的方法来快速完成这个脚本:
#!/bin/bash printf "Number of folders to move back: " read TIMES BACKCHARS=../ BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done) cd $BACK