Como listar variáveis ​​de ambiente no Linux

Laptop em um fundo azul mostrando um prompt de comando do Linux.

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.

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 echopara 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

Usando echo para ver os valores armazenados em variáveis ​​de ambiente

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 enve os printenvcomandos.

Recomendado:  O que você pode fazer com a porta USB do seu roteador?

O printenvcomando é a forma oficial de fazer isso. O comando foi escrito  especificamente para esse propósito . O envcomando 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

Usando printenv com a opção -0

O efeito da -0opção em uma janela de terminal é amontoar a saída em uma parede impenetrável de texto.

A saída ilegível do printenv quando a opção -0 é usada

É praticamente impossível entender as variáveis ​​de ambiente listadas neste formato. Será uma ocorrência rara se você precisar usar a -0opção. Vamos esquecer isso e tentar novamente.

imprimirenv

Usando o comando printenv sem opções

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.

A saída padrão do printenv, com uma variável ambiental por linha.

Ainda há muita saída, então talvez seja mais fácil canalizar as variáveis ​​de ambiente  para oless .

imprimirenv | menos

Canalizando printenv para o visualizador de menos arquivos

Isso permite percorrer a lista de variáveis ​​de ambiente e também pesquisar a lista.

A saída de printenv no visualizador de menos arquivos

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:

Recomendado:  Agora é uma boa hora para comprar uma CPU ou placa-mãe AMD?

imprimirenv | grep EXIBIÇÃO

Usando grep para filtrar os resultados do printenv

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 pushdepopd .
  • 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ê printenvlistar isso, sempre será printenv.

Inspeções Ambientais

Para listar todas as suas variáveis ​​de ambiente, use printenv. Canalize a saída greppara filtrar os resultados e use echopara imprimir o valor de uma variável de ambiente específica e conhecida.

Recomendado:  O que é a IA LaMDA do Google e por que um engenheiro do Google acredita que ela é senciente?

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