Existe uma maneira de acessar qualquer diretório diretamente de qualquer outro diretório?


14

Existe uma maneira de acessar qualquer diretório diretamente de qualquer outro diretório? Por exemplo, digamos que eu esteja na raiz e queria ir diretamente para o currentProject sem fazer :

cd dropbox/dev/currentProject



-root
  -dropbox
     -dev
        -currentProject

Existe maneira de fazer isso?

Respostas:


21

Você pode usar algo como salto automático . O salto automático permite saltar rapidamente para os diretórios visitados com frequência com o jcomando

Por exemplo, depois de cdentrar no currentProjectdiretório algumas vezes, você pode pular para ele assim:

j currentProject

Você pode até usar apenas parte do nome do diretório. Então você poderia fazer:

j current

Para cddentro currentProject.


8

Você também pode adicionar alguns diretórios comuns ao seu $ CDPATH

export CDPATH=$HOME

Isso, por exemplo, permite que você entre cdem qualquer diretório da sua pasta pessoal de qualquer lugar do sistema.

Mais


7

Isso não responde diretamente à sua pergunta, mas se estou deduzindo corretamente que você estará pulando bastante entre diretórios, você poderá usar um multiplexador de terminal como o GNU Screen para manter os diferentes diretórios abertos em diferentes janelas e simplesmente alterne entre eles conforme necessário. Eu pessoalmente uso o Byobu , que adiciona algumas funcionalidades na parte superior da tela.


1
Veja também: tmux .
Annika Backstrom

5

Você pode definir um alias no seu perfil do bash. Basicamente, isso permite abreviar um comando com uma palavra. Você pode definir currentProject para realmente apontar para / dropbox / dev / currentProject


4

Você pode criar links simbólicos no diretório inicial para onde deseja ir.

ln -s /dropbox/dev/currentProject ~/currentProject

Dessa forma, você ainda está usando o cd, mas não precisa se lembrar do caminho completo. Apenas use:

cd ~/currentProject

Quando você parar de usar o link, basta excluí-lo.

rm ~/currentProject

0

Como o Wuffers mencionou acima, o autojump que pode fazer isso por você. Ele armazena um banco de dados de diretórios visitados anteriormente e permite que você use um comando como j <a few letters in the directory path>mover para esse diretório. Há um comando adicional para o salto automático nomeado jcque deve atender aos seus requisitos. jcpermite pular para um subdiretório visitado anteriormente do diretório de trabalho atual. Portanto, você só precisa visitar o diretório uma vez para que isso funcione até limpar o banco de dados de salto automático. Além disso, você também pode adicioná-lo diretamente com autojump --add DIR(talvez criando a lista de adição a partir de uma lista de árvores de diretórios, se necessário).


0

No bash e * csh, existem os comandos internos 'pushd' e 'popd' que permitem enviar diretórios para uma pilha Last In First Out (with pushd [directory]) e depois mudar rapidamente para o diretório superior da pilha usando 'popd'. Portanto, dependendo de como você carregou a pilha, você poderá navegar rapidamente entre os diretórios adequadamente para que isso funcione.

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.