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


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.


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.


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 ..

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


-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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.