Crie um link simbólico no seu diretório pessoal:
$ ln -s path/to/a/really/deeply/nested/director/my-project ~/my-project
$ cd ~/my-project
Tendo alguns problemas no Google, porque não sei qual é o termo de pesquisa. Script de shell ou recurso de terminal. Qual é a melhor maneira de simplificar o acesso aos diretórios usados com freqüência. Normalmente, quando eu inicio um terminal, o padrão é meu diretório inicial, mas às vezes eu abro para abrir várias janelas de terminal, o problema é que eu estou digitando o cd /.../directory em cada um várias vezes e eu preciso de uma maneira de não ter para fazer isso. Qual é a melhor maneira ou apenas fornecer os termos de pesquisa que eu poderia usar para ler sobre isso online. Obrigado
Adicione uma variável ao seu .bashrc:
MYPROJECT=path/to/a/really/deeply/nested/director/my-project
para usar:
$ cd $MYPROJECT
Defina a variável CDPATH: ela contém diretórios adicionais a serem pesquisados quando você executa cd
.
Você também pode aproveitar a variável CDPATH .
E você pode definir um bash function
no seu $HOME/.bashrc
like
# in file ~/.bashrc
function work() {
cd $HOME/path/to/a/really/deeply/nested/director/my-project
}
E festivais recentes ou até mesmo zsh podem lhe permitir coisas como
cd **/my-project
Supondo que você tenha apenas um diretório my-project/
profundamente aninhado em toda a sua hierarquia de árvore. O **
está fazendo o equivalente a find
, então pode ser lento.
Você também pode tentar o autojump .
É como o comando cd
, mas com a capacidade de aprender. Ele mantém um banco de dados de diretórios que você visita e atribui peso a cada entrada.
Posteriormente, você pode usar j foo
para ir para um diretório que contenha foo
em seu nome. Se mais de alguns diretórios tiverem foo, ele mostrará uma lista de correspondências de onde você pode selecionar o diretório desejado.
Você pode usar marcadores para o shell, por exemplo bookmarks.sh .
O autor do CDPATH recomenda exportar o CDPATH para o ambiente. Por favor, tenha em mente que há uma grande chance de que isso sutilmente quebre os scripts de shell que esperam que os diretórios estejam em um local específico. Uma solução é colocar o CDPATH em ~ / .bashrc e não exportá-lo. Seu ~ / .bashrc ficaria assim:
CDPATH=/var/:/etc/
Observe que os shell scripts originados continuarão captando o CDPATH nesse caso. O autojump é certamente uma alternativa muito mais segura e mais conveniente de usar do que o CDPATH.
Adicione um apelido no seu .bashrc
alias myproject="cd path/to/a/really/deeply/nested/director/my-project"
para usar:
$ myproject
anc é projetado exatamente para este caso de uso.
Aqui está um trecho do README.md:
# make the current directory the default anchor:
$ anc s
# go to /etc, then /, then /usr/local and then back to the default anchor:
$ cd /etc; cd ..; cd usr/local; anc
# go back to /usr/local :
$ anc b
# add another anchor:
$ anc a $HOME/test
# view the list of anchors (the default one has the asterisk):
$ anc l
(0) /path/to/first/anchor *
(1) /home/usr/test
# jump to the anchor we just added:
# by using its anchor number
$ anc 1
# or by jumping to the last anchor in the list
$ anc -1
# add multiple anchors:
$ anc a $HOME/projects/first $HOME/projects/second $HOME/documents/first
# use text matching to jump to $HOME/projects/first
$ anc pro fir
# use text matching to jump to $HOME/documents/first
$ anc doc fir
# add anchor and jump to it using an absolute path
$ anc /etc
# is the same as
$ anc a /etc; anc -1
# add anchor and jump to it using a relative path
$ anc ./X11 #note that "./" is required for relative paths
# is the same as
$ anc a X11; anc -1
# using wildcards you can add many anchors at once
$ anc a $HOME/projects/*
# use shell completion to see a list of matching anchors
# and select the one you want to jump to directly
$ anc pro[TAB]
Divulgação completa: sou o autor do anc.