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

Publicado por Lisandro Guerra em 25/08/2012

[ Hits: 17.432 ]

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

Slackware Linux - teclado Lenovo ThinkPad [Resolvido]

Scanner GOTEC no OpenSuSE 11.1

Docky sem âncora

Unix Emulator Online

Vim editor - inserir e retirar numeração de linhas

Leitura recomendada

Como exibir números com um largura fixa de caracteres, complentando com zeros a esquerda

Truques para tratamento de variáveis em shell script

Concatene com o Bash e fique contente!

Números aleatórios em shell script

Usando variáveis para alterar arquivos com sed, *grep e outros

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts