dando um nome abreviado para o diretório frequentemente aberto via terminal [duplicado]

8

Sempre que desejo mudar para um diretório que eu uso com muita frequência, devo digitar esse longo caminho de diretório:

cd /media/prasanth/01D0F888E7BC91801/github projects

ou eu devo usar o gui para entrar na pasta e abrir o terminal.

É possível atribuir este caminho longo a um único nome e inseri-lo através do terminal como

cd mygitfiles

?

    
por Prasanth P 04.01.2016 / 15:53

7 respostas

17

Até agora, duas grandes foram dadas em outras respostas, eu tenho mais uma possibilidade:

ln -s /media/prasanth/01D0F888E7BC91801/github/projects ~/mygitfiles

Criará um link simbólico para o caminho longo em sua casa.

Os links simbólicos são como atalhos que apontam para outro arquivo ou diretório, e a maioria dos programas os tratará como normais. você pode seguramente rm o symlink sem efetuar o caminho para o qual ele aponta. você pode observar para onde o link simbólico aponta com ls -l .

Você pode usar o symlink como se fosse um diretório real e fazer cd ~/mygitfiles .

Note que ~ é simplesmente um alias para o seu diretório pessoal, que pode ser um lugar sensível para esse link simbólico.

Esteja ciente de que o uso desse link simbólico acaba afetando seu diretório de trabalho atual.

No caso geral, gostaria de sugerir Nicolas Delvaux, ou a resposta de Eduardo Cola, mas usar um link simbólico pode ser exatamente como - ou possivelmente mais útil.

    
por Paul Grove 04.01.2016 / 19:26
9

Você pode armazenar seu caminho em uma variável de ambiente. Executar:

nano $HOME/.bashrc

Vá até o final do arquivo, crie uma nova linha e escreva:

export mgf="/media/prasanth/01D0F888E7BC91801/github projects"

Pressione Ctrl + O e ENTER para salvar o arquivo. Pressione Ctrl + X para sair. Agora saia e faça o login. Quando você abrir um terminal (executando o bash), você pode executar cd "$mgf" para mudar para o seu diretório.

    
por Eduardo Cola 04.01.2016 / 16:08
8

Você deve usar aliases. Veja help alias .

Em poucas palavras, você pode definir um alias digitando:

alias whatever="cd /media/prasanth/01D0F888E7BC91801/github/projects"

Em seguida, digitar whatever moverá você para a pasta definida.

Você pode colocar o comando alias em seu ~ / .bashrc para mantê-lo permanentemente.

    
por Nicolas Delvaux 04.01.2016 / 16:01
8

Parece que você está procurando por cdargs .

Ele fornece marcadores para o comando cd .

Você pode adicionar um marcador executando mark NAME no diretório que está marcado. Então você pode mudar para este diretório de qualquer lugar usando cv NAME com NAME sendo o nome do marcador.

    
por rbialon 04.01.2016 / 20:17
3

O Bash tem um pequeno defeito chamado CDPATH . Quando cd foo procura um caminho relativo, ele procura no diretório atual por padrão. Ao definir CDPATH para uma lista de prefixos de caminho separados por dois pontos, podemos ir para esse destino se nenhuma correspondência for encontrada. Isso funciona de maneira semelhante à variável PATH ao procurar arquivos executáveis.

No seu caso, você poderia export CDPATH=.:/media/prasanth/01D0F888E7BC91801/github/ em seu ~/.bashrc e, em seguida, executar cd projects/foo de qualquer lugar para chegar a /media/prasanth/01D0F888E7BC91801/github/projects/foo .

No entanto, isso não funcionará se o diretório atual contiver uma entrada correspondente, portanto, isso pode ter alguns modos de erro confusos. Existem algumas pessoas que juram por este método, eu prefiro links simbólicos no diretório home , como sugerido por Paul Grove. / p>     

por amon 04.01.2016 / 20:59
3

Você pode dar uma olhada em autojump . Ele basicamente aprende quando você usa cd construindo um banco de dados de pastas que você visita e atribuindo pesos a elas: quanto mais você visita uma pasta, maior é o banco de dados.

Em seguida, depois de você cd algumas vezes para um diretório (mesmo que seja suficiente):

cd /media/prasanth/01D0F888E7BC91801/github projects

você pode pular para lá usando o comando j :

j proj

Você pode usar qualquer parte do nome do diretório como um argumento para o comando j e pulará para a primeira entrada correspondente, então é útil quando você não se lembra do caminho completo.

Ele tem alguns outros recursos que são bem interessantes, como pular para filho ( jc ). Encorajo-vos a inspecioná-lo.

    
por Ciprian Tomoiagă 05.01.2016 / 00:36
1

eu digitaria

cd /media/prasanth/01D0F888E7BC91801/github projects #demo-proj

na primeira vez que executo esse comando. O conteúdo depois de # é um comentário.

Então, para chamá-lo, eu mudaria Ctrl R e digitaria de (uma subcadeia conveniente de demo-proj ), até que o comando anterior fosse ativado.

(reverse-i-search)'de': cd /media/prasanth/01D0F888E7BC91801/github projects #demo-proj

Eu posso pressionar Ctrl R novamente para usos anteriores.

Isso não precisa definir / substituir os alias permanentes. Eu também faço isso para comandos longos ou mesmo netstat -tulpn que eu acho enigmático.

    
por aitchnyu 05.01.2016 / 08:53