Comando cd + CDPATH - Facilitando a navegação de arquivos

Publicado por Lisandro Guerra em 25/08/2012

[ Hits: 16.589 ]

Blog: https://spartanix.com/

 


Comando cd + CDPATH - Facilitando a navegação de arquivos



A variável CDPATH contém os diretórios que devem ser percorridos na procura por subdiretórios, ela atua como o PATH, que contém os diretórios que devem ser percorridos na procura de arquivos.

Para fazer uma comparação, podemos ver o conteúdo dos arquivos:

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:.


echo $CDPATH
.:..:/home/lisandro


Nota: O normal é não aparecer nada como resposta para o CDPATH, pois ele busca só no diretório corrente. Mas, seguindo uma dica de Júlio Neves, o meu CDPATH já está alterado para buscar no corrente, um diretório acima e no HOME.

Se você executa frequentemente o comando cd de subdiretórios de um diretório "pai" específico, seria útil poder definir o CDPATH para o diretório pai e executar cd para os subdiretórios, sem precisar dar o caminho completo com o diretório pai.

Exemplificando:

# pwd
/home/lisandro


# cd projetos
-bash: cd: projetos: No such file or directory


Neste caso, estou no meu diretório padrão, e ao tentar trocar de diretório, a busca é feita dentro da localização atual, mas como o diretório que eu busco está dentro do /opt, ele não é encontrado.

Exportando /opt para a variável CDPATH o comando vai funcionar, facilitando nossa vida:

# export CDPATH=/opt
# cd projetos

/opt/projetos


Agora, o comando está procurando sob o diretório /opt e não sob o local.

Confirmando a troca de diretório:

# pwd
/opt/projetos


Para que a mudança seja permanente, inclua no seu arquivo ".bashrc" (arquivo oculto no seu diretório HOME), a linha:

export CDPATH=/opt


Assim, como na variável PATH, podemos inserir mais de uma entrada de diretório para a variável CDPATH separando as mesmas com dois pontos, como no exemplo abaixo:

export CDPATH=.:~:/etc:/var:/opt

Algumas situações em que esta dica pode ajudar muito:
  • Como no exemplo acima, se você trabalha em um diretório personalizado para os seus projetos;
  • Administradores Unix, que frequentemente trabalham sob o diretório /etc;
  • Usuários que querem acessar facilmente os subdiretórios da sua pasta HOME;
  • Bancos de dados Oracle, que trabalham com sua HOME: $ORACLE_HOME, podem ter a CDPATH alterada para esta HOME do Oracle.
Esta é a dica, tomara seja útil.


Fonte:

Outras dicas deste autor

Configurando Teclado ABNT2 no Slackware 13.37 - Xfce

Conky - caracteres especiais e data dia/mês/ano

Como listar os maiores arquivos pelo terminal

Linux Mint 11 e wifi Ralink

cut - Comando com exemplos

Leitura recomendada

Truques para tratamento de variáveis em shell script

Hora no prompt do terminal

Economize energia, um bem precioso

Operações matemáticas diretamente pelo bash

Declarando constantes em shell scripts

  

Comentários
[1] Comentário enviado por batista em 25/08/2012 - 21:05h

Muito boa esta dica. Testei e funcionou.

[2] Comentário enviado por julio_hoffimann em 25/08/2012 - 21:18h

Ótima dica Lisandro!

Abraço!



Contribuir com comentário