Você provavelmente usa o comando cd no Linux todos os dias. Mas você sabia que existem alguns hacks que permitem melhorar sua experiência ao navegar em diferentes diretórios? Depois de aplicar essas dicas, consigo mudar de diretório sem me preocupar em cometer erros.
Antes de mergulhar nas dicas, há algo que você deve aprender primeiro. Esse é o comando shopt. É um utilitário de shell Bash integrado usado para controlar vários comportamentos opcionais do shell. Ele permite ativar ou desativar diferentes opções de shell que afetam o modo como o Bash opera em vários cenários.
Uma simples execução do comando mostrará quais comportamentos estão ativados ou desativados no momento.
shopt
Precisaremos deste comando para as duas primeiras dicas.
Pare de se preocupar em digitar o diretório errado
Se você é um digitador rápido, muitas vezes pode obter nomes de diretórios incorretos. Pense em pequenos erros de digitação como ‘dri’ em vez de ‘dir’ ou ‘dosc’ em vez de ‘docs’. Com o recurso cdspell no shell Bash, esses erros de digitação serão corrigidos automaticamente.
Isso significa que o terminal não reclamará que tal diretório não existe. Ele mudará automaticamente o diretório para o correto. Vamos ver isso em ação. Primeiro, verifique se a opção está ativada ou desativada usando shopt.
shopt cdspell
Se estiver desligado, como no meu caso, você precisa ligá-lo. Para fazer isso, usamos o sinalizador -s, conhecido como sinalizador set.
shopt -s cdspell
shopt cdspell
O recurso cdspell deve estar ativado agora.
Vamos tentar ver se funciona conforme o esperado.
Eu tenho um diretório chamado “docs” onde mostrarei a magia do cdspell. Primeiro, escrevo incorretamente o diretório ao entrar enquanto o cdspell está desativado. Como esperado, isso gera um erro. Então, depois de ligá-lo, digitei incorretamente o nome do diretório novamente ao alterar o diretório. Mas desta vez, o nome do diretório foi corrigido e fui alterado para o diretório corrigido. Você pode verificar usando o comando pwd para confirmar seu diretório de trabalho.
Você deve saber que o cdspell só pode lidar com pequenos erros ortográficos. Pense em cenários como trocar dois caracteres consecutivos na grafia (otp em vez de opt), adicionar um caractere extra ou remover um caractere. Se houver muitos erros, o cdspell não resolverá isso.
Repetir ‘cd’ não é necessário
Odeio escrever o comando cd toda vez que você precisa alterar o diretório? Por ser usado com tanta frequência, pode se tornar irritante rapidamente. Especialmente se você esqueceu de digitá-lo e apenas digitou o nome do diretório. O recurso autocd no Bash permite alterar diretórios sem escrever o comando cd.
Como na opção anterior do cdspell, verifique se o autocd está ativado.
shopt autocd
Se estiver desligado, ligue-o.
shopt -s autocd
Para este, digite o nome de um diretório como faria ao inseri-lo, mas sem digitar cd. Sem o autocd, você receberia um erro. Com o autocd, você entrará diretamente no diretório, mesmo que não tenha digitado cd.
Como você pode ver na imagem acima, um ótimo uso para esse recurso é quando você deseja ir para o diretório anterior usando pontos duplos (..). Você não precisa digitar cd toda vez que quiser subir em um diretório ou mesmo em seu diretório pessoal (~).
Preenchimento automático sem distinção entre maiúsculas e minúsculas
Outro aborrecimento comum que às vezes enfrento no terminal é que quando pressiono Tab para preencher automaticamente um nome de arquivo ou diretório, ele diferencia maiúsculas de minúsculas. Então, se eu quiser entrar no diretório “Documentos”, terei que começar a digitar com D maiúsculo para obter a opção correta no preenchimento da guia no Linux.
Cada vez que você quiser ir para um diretório que começa com letra maiúscula, será necessário digitar a letra maiúscula. Você pode alterar essa configuração para fazer com que o shell Bash ignore a caixa. Para habilitar o preenchimento de tabulação sem distinção entre maiúsculas e minúsculas no Bash, você precisa configurar a biblioteca GNU Readline, que o Bash usa para edição e preenchimento de linha de comando. Isso é feito no arquivo ~/.inputrc. Abra (ou crie) o arquivo em um editor de arquivos.
nano ~/.inputrc
Em seguida, digite a linha abaixo.
set completion-ignore-case on
Salve o arquivo, saia e reinicie sua sessão Bash. Alternativamente, você pode inserir o seguinte no arquivo ~/.bashrc.
bind "set completion-ignore-case on"
Depois de fazer uma dessas alterações e reiniciar sua sessão, a conclusão da guia do Bash ignorará maiúsculas e minúsculas ao sugerir nomes de diretórios. Por exemplo, digitando “cd des
Eu aprecio muito esse recurso porque muitas vezes me esqueço se o diretório que desejo entrar começa com letra maiúscula ou não.
Aliases para diretórios comuns
Para diretórios que você visita com frequência, você pode simplesmente criar aliases para não precisar digitar tudo. Pela minha experiência, isso é bastante útil ao acessar diretórios pais. Aqui está um exemplo de aliases que você pode usar:
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
Com eles instalados, não há necessidade de digitar todos os pontos e barras. Você também pode definir aliases para caminhos de diretório longos, como este:
alias bin='cd /usr/local/bin'
alias logs='cd /var/log'
Para tornar os aliases permanentes, digite-os no arquivo ~/.bashrc, salve-o e recarregue a configuração do shell usando:
source ~/.bashrc
Isso pode economizar muito tempo de digitação e dores de cabeça quando você não se lembra dos caminhos exatos.
Essas mudanças na qualidade de vida podem melhorar muito sua experiência ao navegar no sistema Linux usando o comando cd. No entanto, se você está procurando algo ainda melhor, existem alternativas poderosas de comando cd que você deve explorar.