pushd , < href="http://www.gnu.org/software/bash/manual/html_node/Directory-Stack-Builtins.html#Directory-Stack-Builtins"> popd e dirs são construções de shell que permitem manipular o < uma pilha de diretórios . Isso pode ser usado para alterar diretórios, mas retornar ao diretório do qual você veio.
Por exemplo
inicie com os seguintes diretórios:
$ ls
dir1 dir2 dir3
pushd para dir1
$ pushd dir1
~/somedir/dir1 ~/somedir
$ dirs
~/somedir/dir1 ~/somedir
O comando dirs confirma que temos 2 diretórios na pilha agora. dir1 e o diretório original, somedir .
pushd para ../dir3 (porque estamos dentro de dir1 agora)
$ pushd ../dir3
~/somedir/dir3 ~/somedir/dir1 ~/somedir
$ dirs
~/somedir/dir3 ~/somedir/dir1 ~/somedir
$ pwd
/home/saml/somedir/dir3
dirs mostra que temos 3 diretórios na pilha agora. dir3 , dir1 e somedir . Observe a direção. Todo novo diretório está sendo adicionado à esquerda. Quando começamos a publicar diretórios, eles também vêm da esquerda.
altere manualmente os diretórios para ../dir2
$ cd ../dir2
$ pwd
/home/saml/somedir/dir2
Agora comece a criar diretórios
$ popd
~/somedir/dir1 ~/somedir
$ pwd
/home/saml/somedir/dir1
Observe que voltamos para dir1 .
Pop novamente ...
$ popd
~/somedir
$ pwd
/home/saml/somedir
E voltamos aonde começamos, somedir .
Pode ficar um pouco confuso, mas o chefe da pilha é o diretório em que você está. Por isso, quando voltarmos para somedir , mesmo que dirs mostre isso:
$ dirs
~/somedir
Nossa pilha é de fato vazia.
$ popd
bash: popd: directory stack empty