GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de comandos uname de Linux (obtener la versión del kernel, el lanzamiento, el nombre de host, etc.)

A veces es necesario determinar rápidamente detalles como el nombre del kernel, la versión, el nombre de host, etc. de la caja de Linux que está utilizando.

Aunque puede encontrar todos estos detalles en los archivos respectivos presentes en el sistema de archivos proc, es más fácil usar la utilidad uname para obtener esta información rápidamente.

La sintaxis básica del comando uname es:

uname [OPTION]...

Ahora veamos algunos ejemplos que demuestran el uso del comando 'uname'.

uname sin ninguna opción

Cuando el comando 'uname' se ejecuta sin ninguna opción, imprime solo el nombre del kernel. Entonces, el resultado a continuación muestra que es el kernel 'Linux' el que usa este sistema.

$ uname
Linux

También puede usar uname -s, que también muestra el nombre del núcleo.

$ uname -s
Linux

Obtenga el nombre de host del nodo de red usando la opción -n

Use la opción uname -n para obtener el nombre de host del nodo de red de su caja de Linux.

$ uname -n
dev-server

El resultado anterior será el mismo que el resultado del comando hostname.

Obtenga la versión del kernel usando la opción -r

El comando uname también se puede usar para obtener la información de lanzamiento del kernel. La opción -r puede usarse para este propósito.

$ uname -r
2.6.32-100.28.5.el6.x86_64

Obtenga la versión del kernel usando la opción -v

El comando uname también se puede usar para obtener la información de la versión del kernel. La opción -v puede usarse para este propósito.

$ uname -v
#1 SMP Wed Feb 2 18:40:23 EST 2011

Obtenga el nombre del hardware de la máquina usando la opción -m

El comando uname también se puede usar para obtener el nombre del hardware de la máquina. La opción -m se puede utilizar para este propósito. Esto indica que es un sistema de 64 bits.

$ uname -m
x86_64

Obtenga el tipo de procesador usando la opción -p

El comando uname también se puede usar para obtener la información del tipo de procesador. La opción -p puede usarse para este propósito. Si el comando uname no puede obtener la información del tipo de procesador, entonces produce "desconocido" en la salida.

$ uname -p
x86_64

A veces, es posible que vea "desconocido" como resultado de este comando, si uname no pudo obtener la información sobre el tipo de procesador.

Obtenga la plataforma de hardware usando la opción -i

El comando uname también se puede usar para obtener la información de la plataforma de hardware. La opción -i puede usarse para este propósito. Si el comando uname no puede obtener la información de la plataforma de hardware, entonces produce "desconocido" en la salida.

$ uname -i
x86_64

A veces, es posible que vea "desconocido" como resultado de este comando, si uname no pudo obtener la información sobre la plataforma.

Obtenga el nombre del sistema operativo usando la opción -o

El comando uname también se puede usar para obtener el nombre del sistema operativo. La opción -o puede usarse para este propósito.

Por ejemplo:

$ uname -o
GNU/Linux

Obtenga toda la información usando uname -a opción

Toda la información a la que hasta ahora hemos aprendido a acceder usando diferentes banderas se puede obtener de una sola vez. La opción -a se puede utilizar para este propósito.

$ uname -a
Linux dev-server 2.6.32-100.28.5.el6.x86_64 #1 SMP Wed Feb 2 18:40:23 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

Valor desconocido en la salida uname

Mientras escribía este artículo, tenía un poco de curiosidad por saber por qué la utilidad uname devuelve "desconocido" para el tipo de procesador (-p) y la plataforma de hardware (-i) en mi computadora portátil que ejecuta Ubuntu. Investigué un poco sobre este tema.

Una explicación que encontré fue que el comando uname usa la función uname() (man 2 uname) que lee toda la información de la siguiente estructura del kernel:

struct utsname {
               char sysname[];    /* Operating system name (e.g., "Linux") */
               char nodename[];   /* Name within "some implementation-defined
                                     network" */
               char release[];    /* OS release (e.g., "2.6.28") */
               char version[];    /* OS version */
               char machine[];    /* Hardware identifier */
           #ifdef _GNU_SOURCE
               char domainname[]; /* NIS or YP domain name */
           #endif
           };

Dado que la información sobre el tipo de procesador y la plataforma de hardware no está presente en esta estructura, el comando uname devuelve "desconocido" para ellos.

La otra explicación que encontré fue que dentro de uname.c el manejo de la opción -p es como:

...
...
...
char const *element = unknown;
#if HAVE_SYSINFO && defined SI_ARCHITECTURE
{
  static char processor[257];
  if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
    element = processor;
}
#endif
...
...
...

Las macros HAVE_SYSINFO y SI_ARCHITECTURE no están definidas en ninguna parte del kernel y, por lo tanto, se devuelve unknown. Lo mismo podría ser cierto para la opción -i.

No estoy seguro del problema exacto, pero podemos asumir con seguridad que las opciones -p e -i no son estándar y simplemente extensiones y, por lo tanto, deben evitarse al usar el comando uname en un script.


Linux
  1. Tutorial de comando uname de Linux para principiantes (8 ejemplos)

  2. 7 ejemplos de comandos Linux df

  3. 8 ejemplos de comandos TR de Linux

  4. Ejemplos de comandos sa en Linux

  5. Ejemplos de comandos de nombre de host en Linux

Comando Uname en Linux

9 ejemplos de comandos Uname de Linux para obtener detalles del sistema operativo

3 formas de comprobar la versión del kernel de Linux en la línea de comandos

Ejemplos de comandos de pantalla:Obtener el control de la terminal Linux / Unix

Ejemplos de comandos "uname" para comprobar la versión de UNIX/Linux

Ejemplos de comandos id en Linux