Como personalizar e mudar a cor do prompt do shell no Linux

O prompt de comando padrão do Linux muitas vezes é apenas um texto de uma cor só, o que pode dificultar a leitura quando você tem muitas saídas longas de comandos na tela. Mudar a cor do prompt (a linha onde você digita os comandos) ajuda muito na organização visual e na produtividade. Neste post, você vai aprender a alterar a variável PS1 para colorir o seu terminal.

O que é a variável PS1?

A aparência do seu prompt de comando é controlada por uma variável de ambiente chamada PS1 (Prompt Statement 1). Para ver qual é a configuração de texto atual do seu prompt, digite no terminal:

echo $PS1

Você verá uma saída com vários símbolos (como \u para usuário, \h para o nome da máquina e \W para o diretório atual). É adicionando códigos de cores entre esses símbolos que a mágica acontece.

Alterando a cor temporariamente

Antes de fazer uma mudança definitiva, podemos testar na sessão atual. O código de cores no bash usa uma sintaxe específica, como \e[32m para verde e \e[34m para azul. Para testar um prompt onde o usuário fica verde e o diretório fica azul, copie e cole o comando abaixo:

PS1=”\[\e[32m\]\u\[\e[m\]@\[\e[34m\]\h \W\[\e[m\] $ “

Entendendo o código: O \[\e[32m\] inicia a cor verde para o usuário (\u). O \[\e[m\] reseta a cor para o padrão, para que o símbolo de arroba (@) fique normal. Depois, chamamos a cor azul para o host (\h) e o diretório (\W).

Essa alteração tem efeito imediato, mas será perdida assim que você fechar o terminal.

Deixando o prompt colorido permanentemente

Para que o seu prompt fique colorido toda vez que você abrir o terminal, precisamos salvar essa configuração no arquivo .bashrc oculto na pasta do seu usuário. Abra o arquivo com o editor nano:

nano ~/.bashrc

Vá até o final do arquivo (usando as setas do teclado) e adicione a seguinte linha:

export PS1=”\[\e[32m\]\u\[\e[m\]@\[\e[34m\]\h \W\[\e[m\] $ “

Salve o arquivo e feche o editor (CTRL + O para salvar, Enter para confirmar e CTRL + X para sair).

Agora, para aplicar as mudanças imediatamente sem precisar deslogar e logar novamente, digite o comando:

source ~/.bashrc

Pronto! Seu terminal agora está muito mais agradável de ler. Você pode brincar com os números das cores depois: 31 é vermelho, 32 é verde, 33 é amarelo, 34 é azul, 35 é magenta e 36 é ciano.

Dica de ouro: Lembre-se que essa configuração no ~/.bashrc é por usuário. Se você acessar o usuário root (usando su - ou sudo su), o prompt voltará ao padrão. Para deixar o root colorido, você precisará repetir a edição do .bashrc dentro da pasta do root (/root/.bashrc)!

Como aplicar o prompt colorido para todos os usuários (global)

Se você tem muitos usuários no servidor e quer padronizar o prompt para todos eles (incluindo o usuário root) de uma só vez, a melhor prática é criar um arquivo de configuração global na pasta /etc/profile.d/.

Tudo o que colocamos nessa pasta é carregado automaticamente para todos os usuários no momento do login. Vamos criar um novo arquivo chamado prompt_colorido.sh. Digite no terminal:

sudo nano /etc/profile.d/prompt_colorido.sh

Dentro desse novo arquivo vazio, você vai colar exatamente a mesma linha de exportação que usamos anteriormente:

export PS1=”\[\e[32m\]\u\[\e[m\]@\[\e[34m\]\h \W\[\e[m\] $ “

Salve o arquivo e feche o editor (CTRL + O para salvar, Enter para confirmar e CTRL + X para sair).

Ao contrário do .bashrc, esse arquivo global afeta as sessões de login. Para ver o resultado, os usuários já logados precisarão sair e entrar novamente no terminal. Mas, se quiser forçar o carregamento imediato na sua sessão atual para testar, basta digitar:

source /etc/profile.d/prompt_colorido.sh

Dica de Segurança: É importante garantir que apenas o administrador (root) possa modificar esse arquivo, para que outros usuários não quebrem a configuração. Geralmente o nano com sudo já cria o arquivo com as permissões corretas, mas você pode garantir rodando: sudo chmod 644 /etc/profile.d/prompt_colorido.sh