Posso adicionar um atalho para substituir um caminho no Linux?


33

Por exemplo, eu sempre vou para este caminho:

/ usuário / algo / algumas pastas / em algum lugar

mas eu não quero digitar

cd / usuário / algo / algumas pastas / em algum lugar

no terminal o tempo todo, posso ter uma mão curta para fazer isso? por exemplo, posso fazer algo como

cd commandPlace

substituir o caminho?

Respostas:


32

Você pode usar a variável de ambiente CDPATHpara isso. Na página do manual do Bash:

CDPATH

O caminho de pesquisa para o comando cd. Esta é uma lista de diretórios separados por dois pontos, em que o shell procura os diretórios de destino especificados pelo comando cd. Um valor de amostra é ".: ~: / Usr".

No seu caso, você pode definir

export CDPATH=.:/user/something/somefolders

~/.bashrce, em seguida, digitar cd somewhereo levaria a você /user/something/somefolders/somewhere(assumindo que não haja um diretório nomeado somewhereno diretório atual).

Como alternativa, se você não quiser consultar a pasta somewherepor seu nome real, poderá criar um diretório oculto que contenha um link simbólico /user/something/somefolders/somewherecom o nome que deseja usar. Também pode conter links para outros diretórios que você visita com freqüência. Em seguida, defina CDPATHpara incluir o caminho para esse diretório oculto. Embora observe que, com esse método, se você cd somewheree então cd .., você terminará no diretório oculto. Isso pode ou não ser um problema para você.


41

Dois atalhos que eu uso o tempo todo para coisas como esta:

Aliases

alias somedir = 'cd / home / john / www / something /'

Então você pode digitar somedirpara ir para esse diretório. Adicione-os ao seu .bashrc.

Links Simbólicos

ln -s / long / path / to / some / other / pasta / atalho

Isso criará um arquivo no /shortcutqual os links para /long/path/to/some/other/folder. Então você pode digitar cd /shortcut. A ressalva disso é que ele preenche seu diretório raiz (ou qualquer diretório em que você coloca os links) rapidamente. Eu prefiro pseudônimos.


bom John!
Gob00st

deveria ser ln -s /long/path/to/some/other/folder /shortcutquando eu fiz o contrário, criei o atalho no local para o qual queria criar o link. Enviei uma edição para atualizá-la.
Elias

1
Que tal um diretório na raiz com um nome abreviado, por exemplo, /sle criar atalhos lá? (ie ln -s /long/path/to/some/other/folder /sl/shortcut? Sem confusão na raiz, além de um lembrete visual de que o caminho do seu prompt é um link simbólico.
RolfBly

14

Costumo usar a pesquisa interativa bash o tempo todo. Tente. Chame-o com ctrl + r e comece a digitar parte do seu caminho, como em algum lugar . Provavelmente o seu comando cd irá aparecer. :)


9

Veja o comando "alias".

No csh:

alias commandplace "cd /user/something/somefolders/somewhere"

Em sh:

alias commandplace="cd /user/something/somefolders/somewhere"

Mas eu gosto da solução de link simbólico:

ln -s /user/something/somefolders/somewhere ~/commandplace 

Nota: ln recebe argumentos na mesma ordem que cp.


9

Outra coisa que você pode fazer é armazenar o caminho em questão em uma variável de ambiente. Adicione estas linhas ao seu ~/.profilearquivo:

somedir=/user/something/somefolders/somewhere
export somedir

Você pode acessar o diretório com

cd "$somedir"

1
Essa é de longe a melhor solução, porque você pode usar a variável para qualquer comando. Se você atribuir um alias, então, que alias é sempre ligada a um comando como cd ...
BdN3504

Esta é a solução que eu esperava que existisse e estivesse procurando. Pelas razões declaradas pelo BdN3504.
Inspirednz

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.