Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any way to jump back to the previous working directory after doing a cd to a different directory?

My use-case is that I'm traversing a directory structure for a Java project, and I'm expecting that the current directory has only one sub-directory. So, I type cd and hit Tab and Enter rather quickly. However, the Tab failed, as I mistakenly expected one sub-directory, when in fact there are more. So now, I just executed cd, and am now in my home directory, instead of the Java project. Is there a way to "undo" this cd and jump back to the directory I was in?

share|improve this question
up vote 90 down vote accepted

You can use cd - to go back to your previous location, no matter where that was.

share|improve this answer
Awesome - That's exactly what I was looking for. Thanks. – nickb Jul 16 '12 at 18:24
Well ...even after years on Ubuntu I did not know that. Thanks – andybleaden Jul 24 '12 at 9:40

cd - is great for going back one level, but if you find yourself wanting to go back a few levels, check out this script:

It's great. cd -- to see your history, and cd -3 to go back 3 levels, for example.

share|improve this answer
Wow... a geocities link. Now there's a URL I have not seen in a long time. <insert Obi-wan JPG> – Michael Butler Jun 1 '15 at 14:07
the gist of this comment. <jpg Yoda insert> – Donbhupi Oct 17 '15 at 6:59

You can also use pushd and popd to utilize the directory stack :)

Some info here

share|improve this answer

In addition, cd .. can take you back to the working directory's parent directory and then if necessary the command can be repeated until you get to where you want to be. In fact, each time it is evoked it takes you back through the directory tree, which would ultimately finish at / (the root directory) if you just kept repeating the command.

In contrast, cd - actually makes the previous working directory the current working directory, (which is known as .), and which exact location in the filesystem can be found with pwd.

So both cd .. and cd - can be useful in different circumstances when navigating the directory tree, although they do differ in the aforementioned respects. Perhaps the most useful command after having fun experimenting with these two commands is cd, which returns you to the home folder.

share|improve this answer

Best way to do this for going back is cd -, however if you want to skip a lot of levels at once, you better use cd .. for one level, cd ../.., for two, cd ../../.. for three and on... a nice way to do it fast is this script:

printf "Number of folders to move back: "
read TIMES
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.