Como posso desfazer o último comando cd?

76

Existe alguma maneira de voltar ao diretório de trabalho anterior depois de fazer um cd em um diretório diferente?

Meu caso de uso é que estou percorrendo uma estrutura de diretórios para um projeto Java, e estou esperando que o diretório atual tenha apenas um subdiretório. Então, eu digito cd e clico em Tab e Enter rapidamente. No entanto, a Tab falhou, pois eu esperei por engano um sub-diretório, quando na verdade existem mais. Então, agora, acabei de executar cd e agora estou no meu diretório inicial, em vez do projeto Java. Existe uma maneira de "desfazer" este cd e pular de volta para o diretório em que eu estava?

    
por nickb 16.07.2012 / 20:18

5 respostas

124

Você pode usar cd - para voltar ao seu local anterior, não importando onde estivesse.

    
por ImaginaryRobots 16.07.2012 / 20:22
19

cd - é ótimo para voltar um nível, mas se você quiser voltar alguns níveis, confira este script:

acd_func.sh

É ótimo. cd -- para ver seu histórico e cd -3 para voltar a 3 níveis, por exemplo.

    
por Dean 17.07.2012 / 03:04
15

Você também pode usar pushd e popd para utilizar a pilha de diretórios:)

Algumas informações aqui

    
por Sinan Bolel 17.07.2012 / 00:19
5

Além disso, cd .. pode levar você de volta ao diretório pai do diretório de trabalho e, se necessário, o comando pode ser repetido até chegar onde você deseja estar. De fato, toda vez que é evocado, você volta pela árvore de diretórios, que acabaria terminando em / (o diretório raiz) se você apenas repetia o comando.

Em contraste , cd - torna o diretório de trabalho anterior o diretório de trabalho atual (que é conhecido como . ) e qual local exato no sistema de arquivos pode ser encontrado com pwd .

Portanto, tanto cd .. como cd - podem ser úteis em diferentes circunstâncias ao navegar na árvore de diretórios, embora eles difiram nos aspectos mencionados anteriormente. Talvez o comando mais útil depois de se divertir com esses dois comandos seja cd , que retorna para a pasta pessoal.

    
por user76204 10.08.2012 / 22:50
-1

A melhor maneira de fazer isso para voltar é cd - , mas se você quiser pular muitos níveis de uma só vez, é melhor usar cd .. para um nível, cd ../.. , para dois, cd ../../.. para três e em ... uma boa maneira de fazer isso rápido é este script:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in 'seq $TIMES'; do printf $BACKCHARS; done)
cd $BACK
    
por user258456 02.06.2015 / 21:19