409

Is there a way to go back to previous directory we were in using bash,tcsh without using pushd/popd ? I'd like to type something like "back" and got returned to the previous directory I was in.

Edit:

"cd -" works, but only for current and previous directories. Is there anyway I can go back to the previous previous previous directory like how you can go back in the web browser?

Regards

Lydon Ch
  • 6,289

4 Answers4

557

cd - (goes back to previous directory)

If you want to be able to go to the other previous directories, this is not possible out of the box. But check this script and instructions:

History of visited directories in BASH

The cd command works as usual. The new feature is the history of the last 10 directories and the cd command expanded to display and access it. cd -- (or simply pressing ctrl+w) shows the history. In front of every directory name you see a number. cd -num with the number you want jumps to the corresponding directory from the history.

Snark
  • 33,097
40

You can also use variable cd $OLDPWD. This can be also used in shell scripts.

3

I find the easiest way to do it is with this .bashrc power edit: https://github.com/wting/autojump . You get to "mark" folders you navigate to, giving them a shorthand name that's easy to remember (my advice; the foregoing is not in the docs), such as Pics for Pictures, etc. 'jump' returns you to the folder you 'marked,' and 'marks' lists folders you have added to the 'stack' (as with pushd and popd), with the added advantage that your marks remain the same from one session to the next, ad infinitum.

I have yet to try it on more than one harddrive, but the results should be similar to those using a single volume.

S Wright

1

I think cd .. might help. If you do a ls -a in any directory you would see that there are two entries: one named "." and another named ".."; the single dot is reference to the directory you are already in, while the double is the previous directory in the path.

Xente
  • 137
  • 2