What does 'cd -' stand for?

In a bash shell script today I noticed the below command at the end of the script. I know what is cd but I am unaware of the significance of a dash after it.

cd -

What does this mean? Google naively truncates the - so I am unable to find its answer.


If a single dash is specified as the argument, it will be replaced by the value of OLDPWD.

The OLDPWD is set by cd command and it is the previous working directory.


cd - returns to the directory you were previously.

For instance:

marcelo@marcelo:~$ cd /opt
marcelo@marcelo:/opt$ cd /usr/bin
marcelo@marcelo:/usr/bin$ cd -
/opt
marcelo@marcelo:/opt$ 

I was in /opt, changed to /usr/bin, and then went back to /opt with cd -


cd - brings you back to the last directory.

$ cd ~/Desktop
$ pwd
/Users/daknok/Desktop
$ cd /
$ pwd
/
$ cd -
$ pwd
/Users/daknok/Desktop

cd - returns to the previous directory you were in.

Say I'm in /usr/ and I type cd /var/local/someplace/else

Then I use cd - I'll return to /usr