Pilha de Diretórios (comandos pushd, popd e dirs)
A Pilha de Diretórios é um recurso do GNU Bash voltado para facilitar a navegação e manipulação de diretórios. É um recurso onde o usuário pode criar "atalhos" dentro de uma pequena base de diretórios que podem ser facilmente acessados ou referenciados dentro de uma seção do shell. Devido a grande popularidade do GNU Bash vale a pena conhecer esse recurso.
Parte 4: A pilha de diretórios e seus comandos - popd
popd
popd [+N | -N] [-n] Agora o comando mais simples, sua função é remover os diretórios da pilha. Ele necessita de poucos argumentos, tanto que quando executamos o comando popd sem nenhum argumento ele remove o diretório corrente da pilha e muda o diretório corrente para o próximo diretório. No caso o popd sem argumentos irá retirar o elemento "+0", que é o elemento do diretório corrente, e mover o diretório para o próximo elemento, no caso o "+1".Ex.:
user@linux:/usr/share$ dirs
/usr/share /var/log /etc ~
user@linux:/usr/share$ popd
/var/log /etc ~
user@linux:/var/log$
-n
O argumento -n executa a limpeza sem fazer a troca de diretórios.Ex.:
user@linux:/usr/share$ dirs
/usr/share /var/log /etc ~
user@linux:/usr/share$ popd -n
/usr/share /etc ~
[+N | -N]
Os argumentos direcionais servem para escolher qual elemento será retirado da pilha de diretórios, porém a troca do diretório corrente não será efetuada, tendo efeito semelhante a execução do "popd -n", mas dando ao usuário a capacidade de escolher qual diretório será limpo. Também nesse caso a numeração dos elementos na pilha é o mesmo ao que foi visto até agora.Ex.:
user@linux:/usr/share$ dirs
/usr/share /var/log /etc ~
user@linux:/usr/share$ popd +2
/usr/share /var/log ~
user@linux:/usr/share$ popd -1
/usr/share ~
#definindo pilha - diretorios mais usados
pushd dir1
pushd dir2
...
pushd dir8
cd
Daí quando abro um terminal já tenho a pilha definida com meus principais diretórios e a partir de agora passarei a navegar com "cd ~[numero]". Show de bola!