Comandos pushd, popd e dirs – Manipulando a pilha de diretórios no Linux
Manipulando a pilha de diretórios no Linux com os comandos pushd, popd e dirs
A pilha de diretórios é uma lista dos diretórios recém visitados em um sistema Linux. Podemos manipular essa lista com alguns comandos simples, o que é muito útil, por exemplo, ao criar scripts que naveguem pelos diretórios do sistema.
Os comandos que estudaremos são o pushd, popd e dirs.
- pushd: adiciona diretórios a essa pilha e altera o diretório atual.
- popd: remove diretórios da pilha e muda o diretório atual para o diretório que estiver no topo da pilha, após a remoção.
- dirs: mostra o conteúdo da pilha de diretórios.
Esses comandos são comandos internos do shell que nos permitem manipular a pilha de diretórios. Assim, podemos mudar de diretório e voltyar para o diretório de origem com facilidade.
É possível também visualizar o topo da pilha de diretórios verificando o valor da variável do shell DIRSTACK
Vejamos como usar esses comandos. Suponha a seguinte estrutura de diretórios:
Dentro do diretório origem temos três diretórios: dirA, dirB e dirC. Dentro de dirA temos dirA1. Estamos dentro do diretório origem:
Vamos emitir uma sequência de comandos pushd para entrar em vários diretórios, salvando nossa atividade na pilha de diretórios do sistema:
Note que cada vez que emitimos o comando pushd seguido de um nome ou caminho de diretório, tornamos esse diretório o corrente e a pilha é mostrada no terminal. O diretório mais à esquerda é o que está no topo da pilha (mais recente), e o da direita é nosso diretório de origem (início da pilha).
Vamos executar agora o comando dirs para observar o conteúdo da pilha:
É mostrada claramente a sequência de diretórios que visitamos (da direita para a esquerda): /origem -> /origem/dirA -> /origem/dirB -> /origem/dirA1
Vamos fazer o caminho inverso agora, voltando por essa sequência de diretórios e eliminando-os da pilha, com o comando popd:
Note que, cada vez que executamos o comando popd, é mostrado qual diretório foi retirado da pilha, e com o auxílio do comando pwd confirmamos que o diretório corrente foi alterado para o que está no topo da pilha no momento. Repetimos o processo até voltar para nosso primeiro diretório, /origem
Caso você queira limpar toda a pilha de diretórios de uma única vez, basta emitir o comando dirs seguido da opção -c:
$ dirs -c
É isso aí! Vimos neste artigo como funcionam os comandos popd, pushd e dirs, usados para manipular a pilha de diretórios no Linix, e que podem ser usados em diversas situações, sendo a mais comum na criação de scripts do shell especializados.
Escreva um comentário