Android

Comandos pushd e popd no linux

Comandos pushd, popd e dirs - Manipulando a pilha de diretórios do Linux

Comandos pushd, popd e dirs - Manipulando a pilha de diretórios do Linux

Índice:

Anonim

pushd e popd são comandos que permitem trabalhar com a pilha de diretórios e alterar o diretório de trabalho atual no Linux e em outros sistemas operacionais do tipo Unix. Embora pushd e popd sejam comandos muito poderosos e úteis, eles são subestimados e raramente usados.

Neste tutorial, mostraremos como usar os comandos pushd e popd para navegar na árvore de diretórios do sistema.

Pilha de diretórios

A pilha de diretórios é uma lista de diretórios nos quais você navegou anteriormente. O conteúdo da pilha de diretórios pode ser visto usando o comando dirs . Os diretórios são adicionados à pilha ao mudar para um diretório usando o comando pushd e removidos com o comando popd .

O diretório de trabalho atual está sempre no topo da pilha de diretórios. O diretório de trabalho atual é o diretório (pasta) no qual o usuário está trabalhando atualmente. Cada vez que você interage com a linha de comando, você está trabalhando em um diretório.

O comando pwd permite descobrir em que diretório você está atualmente.

Ao navegar pelo sistema de arquivos, use a tecla Tab para preencher automaticamente os nomes dos diretórios. Adicionar uma barra no final do nome do diretório é opcional.

pushd , popd e dirs são embutidos no shell, e seu comportamento pode diferir ligeiramente de shell para shell. Abordaremos a versão interna dos comandos do Bash.

Comando pushd

A sintaxe para o comando pushd é a seguinte:

pushd

Por exemplo, para salvar o diretório atual na parte superior da pilha de diretórios e alterar para /var/www , digite:

~$ pushd /var/www

Em caso de sucesso, o comando acima imprimirá a pilha de diretórios. ~ é o diretório em que executamos o comando pushd . O símbolo til ~ significa diretório inicial.

/var/www ~

pushd salva primeiro o diretório de trabalho atual no topo da pilha e depois navega para o diretório especificado. Como o diretório atual sempre deve estar no topo da pilha, uma vez alterado, o novo diretório atual vai para o topo da pilha, mas não é salvo na pilha. Para salvá-lo, você deve chamar pushd partir dele. Se você usar o cd para mudar para outro diretório, o item superior da pilha será perdido,

Vamos adicionar outro diretório à pilha:

/var/www$ pushd /opt

/opt /var/www ~

Para suprimir a alteração padrão no diretório, use a opção -n . Por exemplo, para adicionar o /usr/local à pilha, mas não alterá-lo, digite:

/opt$ pushd -n /usr/local

Como o diretório atual (que está sempre no topo) não é alterado, o /usr/local é adicionado em segundo lugar a partir do topo da pilha:

/opt /usr/local /var/www ~

O pushd aceita duas opções, +N e -N que permitem navegar até o Nth diretório da pilha. A opção +N muda para o Nth elemento da lista de pilhas, da esquerda para a direita, começando com zero. Quando -N é usado, a direção da contagem é da direita para a esquerda.

Para ilustrar melhor as opções, vamos imprimir a pilha de diretórios atual:

/opt$ dirs -l -v

A saída mostrará uma lista indexada da pilha de diretórios:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Ao contar de cima para baixo (ou da esquerda para a direita), o índice do diretório é 2 .

pushd +2

Ao contar de baixo para cima, o índice do diretório /var/www é 1 .

pushd -1.

Quando usado sem nenhum argumento, o pushd alterna os dois principais diretórios e torna o novo topo o diretório atual. É o mesmo que ao usar o comando cd - .

Comando popd

O comando popd assume o formato:

popd

Quando usado sem argumento, o popd remove o diretório superior da pilha e navega para o novo diretório superior.

Digamos que temos a seguinte pilha de diretórios:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

A saída mostrará a nova pilha de diretórios:

/usr/local /var/www /etc/nginx ~

A opção -n suprime a alteração de diretório padrão e remove o segundo item da pilha:

/opt$ popd -n

/usr/local /etc/nginx ~

Assim como pushd , o popd também aceita as opções +N e -N que podem ser usadas para remover o diretório Nth da pilha.

/opt$ popd +1

/usr/local ~

Conclusão

Normalmente, você usaria o comando cd para mover de um diretório para outro. No entanto, se você gastar muito tempo na linha de comando, os comandos pushd e popd aumentarão sua produtividade e eficiência.

terminal bash