O pushd é como o cd, mas também coloca seu diretório atual em uma pilha. Você pode estar no diretório / some / deep / e depois precisa procurar em / var / www por um tempo:
crb@server /some/deep/directory $ pushd /var/www/
/var/www /some/deep/directory
crb@server /var/www $ [do some stuff]
crb@server /var/www $ popd
/some/deep/directory
crb@server /some/deep/directory $
autopushd significa que mesmo se você digitar 'cd', você terá o efeito de ter digitado 'pushd', que você não lembra que você queria usar até pensar "cara, eu realmente gostaria de poder voltar para onde Eu estava antes ". Você pode então fazer o seu caminho de volta através do seu histórico de diretório.
É útil saber que você sempre pode mudar para o diretório em que estava antes deste (em oposição ao diretório pai) digitando 'cd -'.
Editar Por que usar o pushd quando você pode usar cd -?
cd /foo/bar
cd /baz
cd /somewhere/else
cd - só vai te levar para / baz. O pushd te levará até onde você estava antes de digitar 'cd / foo / bar'.
A pilha de diretórios é particularmente útil em scripts, em que você não pode simplesmente voltar ao histórico de comandos e reconhecer o nome do diretório em que estava:
pushd /var/foo
# run a command, which might well change your PWD at the end of its execution - especially if it fails
popd
Agora você tem a garantia de estar em / var / foo.