GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi uname Linux (Ottieni versione del kernel, rilascio, nome host, ecc.)

A volte è necessario determinare rapidamente dettagli come il nome del kernel, la versione, il nome host, ecc. del box Linux che stai utilizzando.

Anche se puoi trovare tutti questi dettagli nei rispettivi file presenti nel filesystem proc, è più facile usare l'utilità uname per ottenere queste informazioni rapidamente.

La sintassi di base del comando uname è:

uname [OPTION]...

Ora diamo un'occhiata ad alcuni esempi che dimostrano l'uso del comando 'uname'.

uname senza alcuna opzione

Quando il comando 'uname' viene eseguito senza alcuna opzione, stampa solo il nome del kernel. Quindi l'output seguente mostra che è il kernel "Linux" utilizzato da questo sistema.

$ uname
Linux

Puoi anche usare uname -s, che mostra anche il nome del kernel.

$ uname -s
Linux

Ottieni il nome host del nodo di rete usando l'opzione -n

Usa l'opzione uname -n per recuperare il nome host del nodo di rete della tua macchina Linux.

$ uname -n
dev-server

L'output sopra sarà lo stesso dell'output del comando hostname.

Ottieni il rilascio del kernel usando l'opzione -r

Il comando uname può essere utilizzato anche per recuperare le informazioni sulla versione del kernel. L'opzione -r può essere utilizzata per questo scopo.

$ uname -r
2.6.32-100.28.5.el6.x86_64

Ottieni la versione del kernel usando l'opzione -v

Il comando uname può essere utilizzato anche per recuperare le informazioni sulla versione del kernel. L'opzione -v può essere utilizzata per questo scopo.

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

Ottieni il nome hardware della macchina usando l'opzione -m

Il comando uname può essere utilizzato anche per recuperare il nome hardware della macchina. L'opzione -m può essere utilizzata per questo scopo. Ciò indica che si tratta di un sistema a 64 bit.

$ uname -m
x86_64

Ottieni il tipo di processore usando l'opzione -p

Il comando uname può essere utilizzato anche per recuperare le informazioni sul tipo di processore. L'opzione -p può essere utilizzata per questo scopo. Se il comando uname non è in grado di recuperare le informazioni sul tipo di processore, produce "sconosciuto" nell'output.

$ uname -p
x86_64

A volte potresti vedere "sconosciuto" come output di questo comando, se uname non è stato in grado di recuperare le informazioni sul tipo di processore.

Ottieni la piattaforma hardware usando l'opzione -i

Il comando uname può essere utilizzato anche per recuperare le informazioni sulla piattaforma hardware. L'opzione -i può essere utilizzata per questo scopo. Se il comando uname non è in grado di recuperare le informazioni sulla piattaforma hardware, produce "sconosciuto" nell'output.

$ uname -i
x86_64

A volte potresti vedere "sconosciuto" come output di questo comando, se uname non è stato in grado di recuperare le informazioni sulla piattaforma.

Ottieni il nome del sistema operativo usando l'opzione -o

Il comando uname può essere utilizzato anche per recuperare il nome del sistema operativo. L'opzione -o può essere utilizzata per questo scopo.

Ad esempio :

$ uname -o
GNU/Linux

Ottieni tutte le informazioni usando l'opzione uname -a

Tutte le informazioni a cui finora abbiamo imparato ad accedere utilizzando diversi flag possono essere recuperate in una volta sola. L'opzione -a può essere utilizzata per questo scopo.

$ 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

Valore sconosciuto nell'output uname

Mentre scrivevo questo articolo, ero un po' curioso di sapere perché l'utilità uname sta tornando "sconosciuto" per il tipo di processore (-p) e la piattaforma hardware (-i) sul mio laptop che esegue Ubuntu. Ho studiato un po' questo problema.

Una spiegazione che ho trovato è che il comando uname utilizza la funzione uname() (man 2 uname) che legge tutte le informazioni dalla seguente struttura 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
           };

Poiché le informazioni sul tipo di processore e sulla piattaforma hardware non sono presenti in questa struttura, il comando uname restituisce "sconosciuto".

L'altra spiegazione che ho trovato è che all'interno di uname.c la gestione dell'opzione -p è come:

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

Le macro HAVE_SYSINFO e SI_ARCHITECTURE non sono definite da nessuna parte nel kernel e quindi viene restituito unknown. Lo stesso potrebbe valere per l'opzione -i.

Non sono sicuro del problema esatto, ma possiamo tranquillamente presumere che le opzioni -p e -i non siano standard e semplicemente estensioni e quindi dovrebbero essere evitate durante l'utilizzo del comando uname in uno script.


Linux
  1. 8 Esempi di comandi TR Linux

  2. Esempi di comandi rm in Linux

  3. ps Esempi di comandi in Linux

  4. hostname Esempi di comandi in Linux

  5. Esempi di comandi hostnamectl in Linux

Comando Uname in Linux

9 Esempi di comandi Linux Uname per ottenere i dettagli del sistema operativo

3 modi per controllare la versione del kernel Linux nella riga di comando

Esempi di comandi dello schermo:ottieni il controllo del terminale Linux / Unix

Esempi di comandi id in Linux

du Esempi di comandi in Linux