Como Usar o Arquivo .bashrc no Linux

Em algum momento, você definitivamente sentiu que sua experiência com o Linux poderia usar um toque extra. Talvez você tenha encontrado tarefas repetitivas ou desejado uma interface de linha de comando mais suave. Bem, adivinhe? Seu sistema tem a chave: o arquivo .bashrc, discretamente aninhado em seu diretório pessoal!

Explore os aspectos fundamentais do arquivo ~/.bashrc neste tutorial para transformar como você interage com seu sistema Linux. Você está no caminho certo, desde personalizar seu prompt de comando até automatizar tarefas e configurar atalhos personalizados.

Diga adeus às tarefas mundanas e olá para uma experiência Linux mais eficiente e agradável!

Pré-requisitos

Antes de mexer no arquivo ~/.bashrc, certifique-se de ter o seguinte em vigor para acompanhar:

  • A Linux distribution is installed on your machine – This tutorial uses Ubuntu 20.04 LTS, but any other distribution works.
  • A non-root user with sudo privileges.

O que é o Arquivo de Comandos de Execução Bash (.bashrc) no Linux?

Imagine o arquivo ~/.bashrc no Linux como uma caixa de brinquedos secreta em seu quarto. Esta caixa de brinquedos lhe dá e configura seus brinquedos favoritos exatamente como você gosta quando você a abre.

Mas como o ~/.bashrc é um arquivo secreto, ele não aparece quando você executa o comando ls. Bem, a menos que você especifique para mostrar os ocultos também, com o parâmetro -la, como mostrado abaixo.

ls -la

Abaixo, você pode ver o arquivo .bashrc listado junto com outros que também estão ocultos.

Listing all files, including hidden ones, in the working directory (home)

Definindo Alias Personalizados para Execuções Rápidas de Comandos

A short definition wouldn’t cut into realizing the ~/.bashrc file’s role in customizing your Linux experience. So, how does this file work exactly? When you crack open that ~/.bashrc file, one of the powerful tricks it lets you achieve is defining custom aliases for your favorite commands.

Por exemplo, em vez de digitar sudo apt-get update para atualizar o índice de pacotes local do seu sistema, defina um alias no arquivo .bashrc que funcione da mesma maneira.

? Nota: Este tutorial utiliza a conta root para executar comandos (não recomendado) para ilustrar tarefas administrativas, como configuração do sistema. Mas, por razões de segurança, assegure-se de estar utilizando um usuário não-root com privilégios sudo ao realizar ações similares no seu sistema.

Para definir aliases para comandos, siga estes passos:

1. Abra o arquivo .bashrc no seu diretório home (~/) através do seu editor preferido, como nano ou vim.

? Se estiver utilizando uma conta não-root, adicione sudo antes de executar comandos que exigem privilégios elevados.

nano ~/.bashrc

2. Em seguida, vá até o final do arquivo e defina um alias (por exemplo, update) para o seu comando alvo (por exemplo, sudo apt-get update), conforme demonstrado abaixo.

alias update='sudo apt-get update'

Guardar as alterações no arquivo e fechar o editor.

Defining an alias in the .bashrc file

3. Uma vez salvo, execute o seguinte comando no seu terminal para source o arquivo ~/.bashrc. Este comando não produz saída para o terminal, mas aplica as suas alterações.

source ~/.bashrc

4. Agora, execute o alias update que você definiu e confirme que o comando correspondente (sudo apt-get update) ocorre.

update

A saída abaixo confirma que o seu alias update funciona como executar o comando sudo apt-get update, mas com menos teclas pressionadas.

Testing the newly defined alias (update)

Elaborando Funções para Produtividade Aprimorada

Definir um alias fica aquém quando você tem operações intricadas para executar repetidamente. Mas não se preocupe; as funções estão aqui para oferecer uma solução onde os aliases podem falhar.

Ao contrário de aliases que meramente servem como um atalho para um único comando, as funções abrangem uma série complexa de comandos projetados para realizar operações intricadas.

Para entender como uma função funciona, execute o seguinte:

1. No arquivo ~/.bashrc, acrescente a função abaixo chamada manage_package (arbitrário).

Ao ser executada, esta função verifica se um determinado pacote está instalado e, com base nessa informação, atualiza ou instala o pacote.

Lembre-se, esta função aceita apenas um argumento, que é o nome do pacote de seu interesse.

manage_package() {
  # Verifica se o pacote está instalado consultando o status do pacote com dpkg. 
  # $1 é o espaço reservado para o primeiro argumento passado para a função (o nome do pacote).
  # A saída é redirecionada para /dev/null para suprimi-la no terminal.
  # A instrução if verifica o status de saída do comando dpkg -s. 
  # Se o status for 0 (pacote está instalado), 
  # prossegue para o primeiro bloco, atualizando o pacote.
  if dpkg -s "$1" &> /dev/null; then
    echo "Package '$1' is already installed. Updating..."
    sudo apt-get update && sudo apt-get install --only-upgrade "$1"
  # Se o pacote não estiver instalado, imprime uma mensagem
  # e executa sudo apt-get install "$1" para instalar o pacote.
  else
    echo "Package '$1' is not installed. Installing..."
    sudo apt-get update && sudo apt-get install "$1"
  fi
}

2. Com a função adicionada, salve as alterações, feche o editor e, em seguida, source o arquivo ~/.bashrc para aplicar as alterações.

source ~/.bashrc

3. Uma vez carregado, chame a função (manage_package), seguida do nome-do-pacote que deseja verificar, atualizar ou instalar no seu terminal, como mostrado abaixo.

A escolha do pacote neste tutorial é o NGINX, mas certifique-se de substituir nome-do-pacote pelo nome do pacote de sua preferência.

manage_package package-name

Como pode ver no resultado, funções como esta tornam a gestão de pacotes uma brisa ao fazer o trabalho pesado por si. Elas determinam automaticamente se o pacote que deseja está lá, para que não precise.

Executing the newly defined function

Personalizando o seu Terminal Linux e Prompt de Shell (PS1)

Pense no seu terminal Linux como um espaço de trabalho pessoal. Personalizar o seu terminal transforma-o num ambiente mais visualmente atraente e informativo.

Ao dar um toque especial ao seu terminal Linux, o céu é o limite. Pode enfeitar o seu terminal com uma mensagem de boas-vindas legal ou ajustar o seu prompt de shell para um toque extra.

Para personalizar o seu terminal Linux, proceda da seguinte forma:

1. Adicione a seguinte linha no final do seu ficheiro ~/.bashrc. Esta linha imprime uma mensagem de (saudação) cada vez que inicia uma sessão de terminal.

echo "Welcome to your terminal, $USER!

2. Em seguida, modifique a variável de ambiente Prompt String 1 (PS1) se existir, ou adicione a linha abaixo ao seu ficheiro ~/.bashrc. A variável PS1 controla precisamente a string de prompt principal, que é o prompt principal exibido (ou seja, utilizador@linux:~#) quando o shell está pronto para aceitar comandos.

A modificação da variável PS1 permite-lhe alterar a aparência do seu prompt de shell, incluindo a sua cor, formato e informações exibidas. A seguinte expressão:

  • Faz com que o nome de usuário (\u) e o nome do host (\h) apareçam em verde brilhante (32m).
  • Faz com que o diretório de trabalho atual (\w) apareça em azul brilhante (34m).
  • Redefine os atributos de cor para a cor padrão (geralmente branca) (\[\033[00m\]) para o texto que segue o prompt. Este reset garante que o restante do texto do terminal permaneça inalterado.
PS1='\[\033[01;32m\]\u@\h:\[\033[01;34m\]\w\$ \[\033[00m\]'

3. Depois, salve e feche o arquivo e, em seguida, source seu arquivo ~/.bashrc para aplicar as alterações.

source ~/.bashrc

Observe abaixo que a mensagem de boas-vindas aparece imediatamente após o sourcing, e o prompt do seu shell muda de aparência conforme você definiu.

Applying the shell prompt changes

Iniciando seus Scripts: Sem Caminho? Sem Problemas!

Aprimorar o sistema para reconhecer diretórios adicionais para comandos executáveis pode otimizar seu fluxo de trabalho. Pegue a execução de scripts, por exemplo – não mais lutando com caminhos longos, apenas pura conveniência.

Para iniciar seus scripts sem memorizar cada caminho, siga as etapas abaixo:

1. Execute o seguinte comando para criar um diretório (mkdir) chamado ~/scripts (arbitrário) dedicado a armazenar seus scripts.

mkdir -p ~/scripts

2. Em seguida, abra o arquivo ~/.bashrc e adicione a seguinte linha ao final, que modifica o caminho de busca de comandos do sistema. Esta linha adiciona o diretório ~/scripts à sua variável PATH existente.

Este comportamento garante que o shell priorize seus scripts sobre outros executáveis com nomes idênticos em outros lugares do PATH do sistema.

export PATH="$HOME/scripts:$PATH"

3. Salve e feche o arquivo, em seguida, source ele para aplicar as alterações sem reiniciar o terminal.

source ~/.bashrc

4. Posteriormente, execute cada comando abaixo para criar um script chamado testscript (arbitrário) no seu diretório ~/scripts.

Esses comandos não têm saída, mas esse script é tornando executável (chmod), o que imprime uma mensagem (echo) no terminal.

# Criar um novo script Bash chamado 'testscript' no diretório ~/scripts
echo '#!/bin/bash' > ~/scripts/testscript

# Adicionar uma linha ao 'testscript' que imprime "Script está sendo executado!" quando executado
echo 'echo "Script is running!"' >> ~/scripts/testscript

# Tornar o 'testscript' executável alterando suas permissões
chmod +x ~/scripts/testscript

5. Por fim, execute seu script (testscript) chamando seu nome no terminal.

O sistema executa seu script a partir do seu diretório dedicado ~/scripts independentemente do seu diretório de trabalho no terminal.

testscript

A saída abaixo confirma que o seu script e o caminho de pesquisa de comando modificado do sistema funcionam conforme o esperado.

Executing the new script to confirm it’s functioning as expected

Conclusão

No mundo do arquivo ~/.bashrc, você percorreu os fundamentos de seu papel e como funciona a personalização de aliases e funções de comando. Até mesmo personalizar a aparência do seu terminal Linux está ao seu alcance agora.

Além da aparência, você desbloqueou a conveniência de executar scripts sem especificar seus caminhos completos toda vez, estendendo a variável de ambiente PATH. Essas modificações economizam tempo e aprimoram a interface do usuário, tornando sua interação com o Linux mais eficiente e agradável ao mesmo tempo.

Ao fechar este capítulo no arquivo ~/.bashrc, lembre-se de que a verdadeira essência do Linux é sua flexibilidade e o controle que ele oferece a você. A jornada continua, então por que não buscar uma experiência personalizada explorando as melhorias do ZSH?

Mergulhe no oceano de temas e plugins que o ZSH e frameworks como Oh My Zsh oferecem. Veja seu terminal se transformar em um espaço de trabalho mais produtivo e visualmente atraente!

Source:
https://adamtheautomator.com/bashrc/