Atualmente, passo muitas horas de trabalho movendo-me para frente e para trás entre dois caminhos muito distantes da árvore e desviando um do outro na raiz. Parece-me que minha vida seria muito mais fácil se houvesse um argumento cd
que levasse o usuário ao último diretório em que ele estava.
Ou seja, se eu estiver em:
/etc/foo/bar/baz/moo
e digite:
cd /var/lib/fubarred_app/blargh/logs
Gostaria de poder voltar ao primeiro diretório sem precisar digitar o caminho inteiro novamente.
A chave de memória não a corta, uma vez que eu uso comandos suficientes em cada lugar, e é tão difícil voltar e encontrar o caminho que desejo quanto digitar eu mesmo.
Existe um comando curto que me permitiria ir para o diretório anterior?
bazmoo
' ou 'blarghlog
' no prompt :)Respostas:
O comando
realizar a troca necessária na maioria dos shells convencionais, a variante mais antiga é
que usará a variável de ambiente que contém o diretório de trabalho anterior.
A página do manual POSIX para
cd
menções:fonte
cd $OLDPWD
para isso. É bom que os reservatórios convencionais ofereçam uma forma bem mais curta.pushd
, e pelo menos é um embutido nobash
.Além da resposta de bryan, vale mencionar que também existem
pushd
epopd
que constroem diretórios como uma pilha. Isso também está disponível no Windows NT; no entanto, não está disponível em todas as conchas.Por exemplo, podemos ir para três diretórios diferentes, e você sempre verá sua pilha ao ligar
pushd
:E quando você liga
popd
três vezes seguidas, chega a esses diretórios na pilha na ordem inversa. Ao mesmo tempo, a pilha será esvaziada novamente.Se você estiver usando o Zsh; possui uma opção AUTO_PUSHD, que automaticamente pressiona
cd
a pilha.fonte
cd
parapushd
, e tinha na sua maioria ser o mesmo.Existem alguns programas de "salto"
Isso facilita qualquer tipo de navegação no diretório. Você o usa dando uma parte do caminho e ele simplesmente funciona.
No seu caso
Você pode atribuir qualquer letra que desejar a esses programas, "j" é tradição :)
j2 e z suportam vários termos de pesquisa, ...
... e mais opções.
fonte
Além de
cd -
ecd $OLDPWD
Você pode usar a pesquisa de histórico pressionando
CTRL-R
e digitando algumas letras docd
comando digitado anteriormente. PressionarCTRL-R
repetidamente trará correspondências mais antigas.Este método será mais útil se você tiver mais de dois caminhos para alterar.
fonte
cd
, grande ajuda!Você pode usar isso para criar facilmente aliases para diretórios:
e depois:
fonte
alias =
partes? hmmmmo bashmarks permite marcar uma série de pastas e saltar entre elas com a conclusão da guia:
fonte
Outra possibilidade seria manter apenas duas janelas abertas, com uma posicionada em cada diretório.
fonte
share_history
no zsh.Sei que isso não é uma resposta estrita à sua pergunta, mas é útil para atingir o objetivo de levá-lo aos seus diretórios importantes .
em qualquer descida do UNIX-bash, você pode usar o CDPATH para estender a pasta em que o comando cd procura.
do meu arquivo .bashrc:
O cd pesquisa primeiro na sua pasta atual e depois no meu diretório de projeto de codificação.
.. me leva a ~ / sources / myproject de onde eu estou atualmente.
Um pequeno recurso simples que ajudou muito a minha navegação por diretório.
fonte
cd
lista de preenchimento automático (TAB), que é boa. Mas se o.
item não estiver incluído e se houver uma pasta em uma pasta CDPATH com o mesmo nome que uma no diretório atual, elacd samename
será direcionada para o diretório CDPATH e não para a pasta atual, que é Má. Tem que usarcd ./samename
para entrar em uma pasta dup.Sim,
cd -
é o caminho a percorrer, mas eu me preocupo com a falta de energia que você tem na sua concha.popd
epushd
também são boas, e issoj
também parece bom.Vou jogar meu próprio utilitário no ringue ... é apenas algo que eu venho construindo, personalizando e migrando comigo nos últimos 10 anos ou mais, e funciona muito bem para o que eu quero que ele faça.
Postagem no blog para o meu utilitário de gerenciamento de diretório
Se funcionar para você, então incrível, mas se não funcionar, prometa-me que terá outra coisa :) Você simplesmente não pode viver
cd
sozinho.fonte
Se você tiver apenas 2 diretórios, a maneira mais fácil é, como mencionado,
Quando tive essas coisas no passado, tive alguns truques que já fiz, que podem ser úteis.
Coloque comandos de alias no arquivo .cshrc, algo como isto
Vincular atalhos aos caminhos de interesse do meu diretório pessoal. Isso é uma coisa única.
Isso permitiria alterar um diretório tão fácil quanto:
fonte
Autojump é um comando "cd" do bash / sh / zsh que, a partir de suas ações, veja este vídeo .
então isso levaria você a se lamentar depois de ter aprendido as últimas pastas
fonte
viga
Eu tenho minha própria ferramenta, mas também darei uma olhada na ferramenta Dereks
j
.Claro que a primeira opção para pular de um lado para o outro é
Minha ferramenta é destinada a diretórios com nomes exclusivos nos sistemas, quando
locate
disponível; ele procura um nome de diretório correspondente e salta para a primeira correspondência:Dependências:
Desvantagens:
Melhorias / modificações:
Uso:
Vantagem da minha solução:
cd -
fonte