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:

Comando tree Linux - pushd

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:

Comando pwd no Linux - popd

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:

Comando pushd Linux

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:

Comando dirs no Linux Debian

É 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:

Comando popd no Linux

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.

 

Sobre Fábio dos Reis (1325 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*