Volte ao diretório anterior no shell

306

Existe uma maneira de voltar ao diretório anterior em que estávamos usando bash, tcsh sem usar pushd / popd? Gostaria de digitar algo como "voltar" e retornar ao diretório anterior em que estava.

Editar:

"cd -" funciona, mas apenas para diretórios atuais e anteriores. Existe alguma maneira que eu possa voltar para o diretório anterior anterior anterior, como você pode voltar no navegador da web?

Saudações

Don Ch
fonte
1
Conforme observado abaixo, você pode fazer isso usando "pushd" e "popd".
blueyed
8
Apenas uma nota lateral "cd -" vai para o direcotry padrão do usuário (/ home / username)
sdaffa23fdsf
1
Melhor resposta imho: unix.stackexchange.com/a/180640/158177 fornece cd -1 a -9 cd que eu acho que é o que o OP pediu
Titou

Respostas:

413

cd - (volta ao diretório anterior)

Se você deseja acessar os outros diretórios anteriores, isso não é possível imediatamente. Mas verifique este script e instruções:

Histórico dos diretórios visitados no BASH

O comando cd funciona como de costume. O novo recurso é o histórico dos últimos 10 diretórios e o comando cd foi expandido para exibi-lo e acessá-lo. cd - (ou simplesmente pressionando ctrl + w) mostra o histórico. Na frente de cada nome de diretório, você vê um número. cd -num com o número que você deseja salta para o diretório correspondente do histórico.

Snark
fonte
20
Também pushd e popd pode ser útil
lorenzog
6
@lorenzog: lydonchandra, em sua pergunta, disse "sem usar pushd / popd"
Snark
@ OGC-nick para a utilização deste cd --em forma de menu-like, você deve usar o mencionado roteiro
Ram
1
@ ogc-nick não, não. O --simplesmente separa um comando e suas opções dos parâmetros (consulte este post ). Como nenhum argumento segue depois --, o comando final é exatamente o cdque muda para o diretório inicial. Esse pode ter sido o segundo diretório anterior, mas isso é apenas uma coincidência.
Griddo 8/0318
wow sugar syntactic much
BugWhisperer
24

Você também pode usar variável cd $OLDPWD. Isso também pode ser usado em scripts de shell.

Ales Dolecek
fonte
6
$ OLDPWD mantém o último diretório de onde você veio, que é bom para scripts. Eu uso muito o $ OLDPWD com o comando cp. Por exemplo, cp -v $ OLDPWD / file.
Neil Wightman
1

Para Windows (incluindo o caso do console do prompt de vírgulas Node.js) não funciona cd - Para mover você para cima, um diretório funciona

cd ..
IgorBeaz
fonte
3
cd .. move-se para o diretório pai, que não é o assunto da pergunta.
ViaSat 28/03
1
Isso é festa aqui, não Windows.
Timo
0

Acho que a maneira mais fácil de fazer isso é com esta edição de poder .bashrc: https://github.com/wting/autojump . Você pode "marcar" as pastas pelas quais você navega, fornecendo a elas um nome abreviado que é fácil de lembrar (meu conselho; o anterior não está nos documentos), como Fotos para Imagens, etc. 'pular' retorna à pasta que 'marcado' e 'marcas' lista as pastas que você adicionou à 'pilha' (como em pushd e pop d), com a vantagem adicional de que suas marcas permanecem as mesmas de uma sessão para a outra, ad infinitum.

Ainda tenho que experimentá-lo em mais de um disco rígido, mas os resultados devem ser semelhantes aos que usam um único volume.

S Wright

Steve Wright
fonte
-1

Se você desceu a árvore de diretórios e deseja voltar, cd ..é o meu favorito. Você pode pular facilmente dentro de um ramo da árvore cd ..subindo um diretório e cd ../..dois e cd ../../..três, etc. Você também pode subir e descer um ramo diferente com o mesmo comando, como cd ../../exampleou cd ../../../example/exampleetc. Para uma troca simples e para trás entre diretórios, cd -ou $OLDPWDsão suas melhores apostas, como outros mencionados.

Adam Erickson
fonte
Alguma razão em particular para que isso foi diminuído? Ele contém respostas corretas, embora talvez não sejam as únicas.
Adam Erickson
-2

Eu acho que cd ..pode ajudar. Se você fizer um ls -aem qualquer diretório, verá que existem duas entradas: uma chamada "." e outro chamado ".."; o ponto único é referência ao diretório em que você já está, enquanto o duplo é o diretório anterior no caminho.

Xente
fonte
22
..não é o diretório anterior, é apenas o diretório pai.
Der Hochstapler
4
Esta resposta fornece informações úteis, mesmo que não responda corretamente à pergunta. Portanto, não faz sentido acumular votos negativos, votei pelo esforço.
Titou
1
Este não é Berkley, não há prêmios especiais só para a participação
nathanchere