Linux / Comando uname: consultar kernel e arquitetura da máquina
uname mostra o nome e a versão de lançamento do kernel em execução e a arquitetura da máquina. Use uname -r para consultar o kernel atual e uname -m para consultar a arquitetura; esses resultados não identificam, por si só, a distribuição Linux nem todos os componentes do computador.
O kernel é o núcleo do sistema, responsável pela interação entre programas e recursos da máquina. Ubuntu e Rocky Linux são distribuições que combinam o kernel Linux com outros programas e ferramentas. Por isso, ver Linux na saída de uname não informa qual dessas distribuições está instalada.
Sintaxe e preparação
uname [opções]...
Os colchetes e as reticências descrevem argumentos opcionais; não devem ser digitados. Abra um terminal no sistema que deseja consultar e execute os exemplos abaixo. Eles apenas leem informações e não precisam de sudo. Em acesso remoto, o resultado corresponde ao ambiente onde o comando foi executado, não ao computador que abriu a conexão.
Os exemplos seguem o GNU uname. Confira a implementação instalada com uname --version e suas opções com uname --help ou man uname. Outras implementações podem ter diferenças. Se o shell não localizar o comando, confira command -v uname e a disponibilidade das ferramentas básicas da distribuição, em vez de tratar a mensagem de erro como informação do kernel.
Consultar o nome do kernel
uname
Sem argumentos, o GNU uname equivale a uname -s. Em um sistema Linux, a saída habitual é Linux. Esse nome designa o kernel: ele não distingue Ubuntu de Rocky Linux, não mostra a versão da distribuição e não constitui um inventário de hardware.
Consultar o kernel que está em execução
uname -r
A opção -r mostra a release, isto é, a identificação de lançamento do kernel atual. Guarde a cadeia completa, incluindo os sufixos da distribuição, ao conferir requisitos de um módulo ou driver. A versão do pacote recém-instalado pode ser diferente da que está em execução até que o sistema seja iniciado com esse kernel.
O comando não instala atualizações nem escolhe o kernel de inicialização. Se você esperava outra versão, confira qual kernel foi efetivamente iniciado antes de concluir que a instalação falhou. Para avaliar compatibilidade, use também os requisitos do módulo e os pacotes correspondentes da distribuição; o número mostrado por uname não substitui essas verificações.
Consultar a arquitetura da máquina
uname -m
A opção -m mostra o nome da arquitetura da máquina, como x86_64 em um ambiente dessa arquitetura. Compare-o com os requisitos da plataforma do programa que pretende usar, mas confira também a distribuição, as bibliotecas e o formato do pacote. Esse campo isolado não garante que qualquer binário para uma arquitetura semelhante será compatível.
Para detalhes do processador, consulte também o guia de lscpu, em inglês. O nome de arquitetura não é uma lista das extensões de instruções da CPU nem uma descrição completa dos dispositivos instalados.
Ler nome, release e arquitetura juntos
uname -srm
Esse comando reúne as três consultas anteriores. No GNU uname, os campos selecionados seguem a ordem definida pelo programa: nome do kernel, release do kernel e arquitetura da máquina. Esta é uma saída ilustrativa; xx representa um trecho variável, e não uma versão real que deva ser instalada:
Linux 6.8.0-xx-generic x86_64
- Linux: nome do kernel.
- 6.8.0-xx-generic: lugar reservado para a identificação completa de lançamento do kernel deste exemplo.
- x86_64: arquitetura da máquina neste exemplo.
Execute as consultas separadas -s, -r e -m se precisar tratar cada informação em um script. A saída de uname -a contém mais campos, e alguns podem conter espaços. Dividir essa linha por espaços e presumir posições fixas pode produzir interpretações erradas. O manual do GNU uname descreve a ordem e as limitações desses campos.
Opções principais
| Opção | Informação exibida |
|---|---|
-a |
Reúne as informações disponíveis. No GNU uname, os campos -p e -i são omitidos se forem desconhecidos. |
-r |
Release do kernel em execução. |
-m |
Nome da arquitetura da máquina. |
-s |
Nome do kernel; é a consulta padrão quando não há opções. |
-n |
Nome do nó na rede, também chamado hostname. |
O manual uname(1) do projeto GNU Coreutils também apresenta -v para a versão de compilação do kernel e -o para o nome do sistema operacional. Não confunda -v com -r nem use -o como substituto da identificação da distribuição.
As opções -p e -i não são portáveis, inclusive entre distribuições GNU/Linux, e podem responder unknown. Esse resultado significa que o campo não está disponível nessa consulta; não demonstra que o processador não exista ou que o hardware esteja com defeito.
Distinguir a distribuição do kernel e do contêiner
Para identificar a distribuição, leia /etc/os-release com cat /etc/os-release. PRETTY_NAME fornece um nome apropriado para exibição; NAME identifica o sistema sem a versão, e VERSION_ID, quando presente, identifica a versão. Alguns campos são opcionais. A especificação de os-release orienta usar /etc/os-release e recorrer a /usr/lib/os-release somente quando o primeiro não existir, sem misturar os dados dos dois arquivos.
Em um contêiner Linux convencional, uname pode mostrar o kernel compartilhado com o sistema que o executa, enquanto os-release identifica o sistema de arquivos do próprio contêiner. Assim, uma identificação de distribuição dentro do contêiner não identifica automaticamente a distribuição do hospedeiro. Máquinas virtuais têm seu próprio kernel; quando o contêiner está dentro de uma máquina virtual, o kernel compartilhado pode ser o dessa máquina virtual. A explicação oficial do Docker sobre contêineres e máquinas virtuais apresenta essa diferença.
Na verificação disponível, GNU uname 8.32 no Bash 5.3.9 do Git para Windows executou os quatro comandos dos exemplos com status 0. A consulta sem opções retornou MINGW64_NT-10.0-28000; -r retornou 3.6.7-fb42d713.x86_64 e -m retornou x86_64. São resultados desse ambiente Windows, não uma execução nativa do Linux. Não houve teste de contêiner, inicialização de outro kernel ou compatibilidade de pacotes; a linha Linux acima permanece ilustrativa.
Pergunta frequente
Posso descobrir a versão da distribuição com uname?
Não. Uname consulta principalmente o kernel e a máquina. Leia os-release no ambiente desejado para obter a identificação da distribuição e compare separadamente com uname -r quando precisar saber qual kernel está em execução.




