No Linux, as variáveis de ambiente contêm valores e configurações importantes. Scripts, aplicativos e shells leem esses valores, geralmente para se configurarem ou para controlar seu comportamento. Aqui estão várias maneiras de mostrar variáveis de ambiente em seu terminal e também como interpretar a lista.
Índice
Tudo sobre variáveis de ambiente
Nossos vários computadores de teste têm uma média de 50 variáveis de ambiente em cada um deles. Uma variável de ambiente, como qualquer outra variável, é uma combinação de um nome e um valor. O nome é exclusivo, definido quando a variável é criada e dura durante o tempo de vida da variável de ambiente.
As variáveis contêm valores para nós. Quando um processo precisa saber qual é o valor, ele procura a variável pelo nome em uma lista e lê o valor dela. Embora os nomes das variáveis não possam ser alterados, seus valores podem ser.
Você não alterará frequentemente as variáveis de ambiente do sistema, mas poderá fazê-lo, se necessário. Por exemplo, você pode querer aumentar o tamanho do cache do histórico de comandos do shell Bash . Você pode editar o valor do
$HISTSIZE
variável de ambiente em seu arquivo “.bashrc” para definir um novo limite superior para o número de comandos lembrados.
Isso é simples e conveniente, mas não é algo que você fará com frequência. As variáveis de ambiente tendem a ser deixadas em seus padrões ou são alteradas uma vez e depois esquecidas. Eles não são algo que você mexerá com frequência.
Porém, vale a pena saber como verificar as variáveis de ambiente que estão definidas e em uso no seu computador. Imprimir as variáveis de ambiente em uma janela de terminal permite ver seus valores e mostra quais aspectos da sua experiência no Linux são governados por esses valores de segundo plano.
Como mostrar o valor de uma variável de ambiente
Você pode usar echo
para ver o valor armazenado em uma variável de ambiente. Para fazer isso, você precisará saber antecipadamente o nome da variável de ambiente.
ecoar $HOME
echo $USER
Existem dois métodos comumente usados para mostrar os nomes e valores de todas as variáveis de ambiente no Linux. Eles são os env
e os printenv
comandos.
O printenv
comando é a forma oficial de fazer isso. O comando foi escrito especificamente para esse propósito . O env
comando tem um propósito totalmente diferente .
env
is used to run an application with temporary, user-specified, values for environment variables. These override the real stored values, and allow the application to run in a modified environment. If you invoke env
with no command line parameters, its default action is to list the environment variables.
We may as well use the tool designed for the job, rather than depend on the side-effect of a tool that has been invoked incorrectly, so we’ll be using printenv
to check environment variables in our examples.
How to List Environment Variables Using printenv
The printenv
command lets you show environment variables and is very straightforward in practice. It has very few options. You can use the --version
option to find out the release number of the version on your computer, and you can use the --help
command to see a short description of these two and one other command line option.
The other option is the -0
(null terminator) option. Usually, printenv
lists the environment variables one per line, by adding a newline character to the end of each line. The -0
option replaces that newline character with a null byte. You would use this option if you were piping the output into another application that didn’t need the newline characters.
printenv -0
O efeito da -0
opção em uma janela de terminal é amontoar a saída em uma parede impenetrável de texto.
É praticamente impossível entender as variáveis de ambiente listadas neste formato. Será uma ocorrência rara se você precisar usar a -0
opção. Vamos esquecer isso e tentar novamente.
imprimirenv
A saída é impressa com uma variável de ambiente por linha. Por convenção, os nomes das variáveis de ambiente sempre usam caracteres maiúsculos. Imediatamente após o nome da variável há um sinal de igual ” =
“, seguido pelo valor para o qual a variável de ambiente está definida.
Ainda há muita saída, então talvez seja mais fácil canalizar as variáveis de ambiente para oless
.
imprimirenv | menos
Isso permite percorrer a lista de variáveis de ambiente e também pesquisar a lista.
Se você souber algo sobre a variável de ambiente em que está interessado, poderá usá-lagrep
para encontrar os prováveis candidatos. Suponha que você saiba que existe uma variável de ambiente que contém a palavra “display”. Podemos pesquisar a lista assim:
imprimirenv | grep EXIBIÇÃO
Algumas variáveis de ambiente comuns
As variáveis de ambiente padrão em diferentes computadores Linux estão sujeitas às preferências dos mantenedores das diversas distribuições, ambientes de desktop e shells. Portanto, ao verificar variáveis de ambiente em seu dispositivo Linux, você poderá ver resultados variados.
Aqui estão algumas das variáveis de ambiente mais comuns que você provavelmente encontrará em um computador Linux usando o ambiente de área de trabalho GNOME .
- BASHOPTS : A lista de opções de linha de comando que foram usadas quando o bash foi iniciado.
- BASH_VERSION : A versão do bash.
- COLUNAS : A largura do terminal em colunas.
- DIRSTACK : A pilha de diretórios para uso com os comandos
pushd
epopd
. - HISTFILESIZE : O número máximo de linhas do histórico de comandos que podem ser gravadas no arquivo de histórico.
- HISTSIZE : O número máximo de linhas do histórico de comandos que podem ser armazenadas na memória. Se você ultrapassar esse número, os comandos memorizados anteriormente serão sobrescritos na memória. Quando você fecha a janela do terminal, o histórico de comandos é gravado no arquivo de histórico.
- HOME : O diretório inicial do usuário atual.
- HOSTNAME : O nome do computador .
- IFS : O separador de campo interno usado para analisar a entrada do usuário. O valor padrão é um espaço.
- LANG : As configurações atuais de idioma e localização, incluindo codificação de caracteres.
- LS_COLORS : define os códigos usados para adicionar cor à saída de ls.
- MAIL : O caminho para a caixa de correio Linux do usuário atual.
- OLDPWD : O diretório de trabalho anterior.
- PS1 : A definição principal do prompt de comando. Isso define a aparência do prompt na janela do seu terminal.
- PATH : Uma lista de diretórios separados por dois pontos que são pesquisados, em ordem, por um comando ou aplicativo correspondente quando você digita um comando no shell.
- PWD : O diretório de trabalho atual.
- SHELL : O nome do seu shell padrão .
- TERM : O tipo de terminal que é emulado quando você executa um shell.
- UID : O identificador do usuário atual.
- USUÁRIO : O usuário atual.
- _ : O comando executado mais recentemente. Se você
printenv
listar isso, sempre seráprintenv
.
Inspeções Ambientais
Para listar todas as suas variáveis de ambiente, use printenv
. Canalize a saída grep
para filtrar os resultados e use echo
para imprimir o valor de uma variável de ambiente específica e conhecida.
Comandos Linux | ||
arquivos | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · cauda · estatística · ls · fstab · echo · menos · chgrp · chown · rev · olhar · strings · digitar · renomear · zip · descompactar · montar · desmontar · instalar · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · converter · rclone · fragmentar · srm · scp · gzip · chattr · cortar · encontrar · umask · wc · tr | |
Processos | alias · tela · topo · legal · renice · progresso · strace · systemd · tmux · chsh · histórico · em · lote · grátis · qual · dmesg · chfn · usermod · ps · chroot · xargs · tty · mindinho · lsof · vmstat · tempo limite · parede · sim · matar · dormir · sudo · su · tempo · groupadd · usermod · grupos · lshw · desligar · reiniciar · parar · desligar · senha · lscpu · crontab · data · bg · fg · pidof · nohup · pmap | |
Rede | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · cavar · dedo · nmap · ftp · curl · wget · quem · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELACIONADO: Melhores laptops Linux para desenvolvedores e entusiastas