GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Linux per restituire il numero di bit (32 o 64)?

  • Puoi vedere se la CPU è a 64 bit, 32 bit o compatibile con entrambi controllando flags riga in /proc/cpuinfo . Devi conoscere i possibili flag sulla tua famiglia di architettura. Ad esempio, sulle piattaforme i386/amd64, il lm flag identifica le CPU compatibili con amd64 (le CPU che non hanno quel flag sono solo i386).

    grep -q '^flags\s*:.*\blm\b' /proc/cpuinfo    # Assuming a PC
    
  • Puoi vedere se il kernel è a 32 o 64 bit interrogando l'architettura con uname -m . Ad esempio, i[3456]86 sono a 32 bit mentre x86_64 è a 64 bit. Si noti che su diverse architetture, un kernel a 64 bit può eseguire programmi utente a 32 bit, quindi anche se uname -m mostra un kernel a 64 bit, non vi è alcuna garanzia che le librerie a 64 bit saranno disponibili.

    [ "$(uname -m)" = "x86_64" ]    # Assuming a PC
    

    Nota anche che uname -m può restituire un valore "virtualizzato". Ad esempio, sotto Linux, se esegui setarch i386 bash su un sistema amd64 e esegui uname -m da quel bash, vedrai uname -m segnalazione i386 . Ciò ti consente effettivamente di fingere di essere su un "sistema a 32 bit" anche se il kernel è a 64 bit, ad esempio per compilare programmi a 32 bit senza impostare la compilazione incrociata.

  • Puoi vedere cosa è disponibile in userland interrogando il supporto LSB con lsb_release comando. Più precisamente, lsb_release -s stampa un : elenco separato delle funzionalità LSB supportate. Ogni elemento ha la forma module-version-architecture . Ad esempio, la disponibilità di una libreria C ix86 è indicata da core-2.0-ia32 , mentre core-2.0-amd64 è l'analogo per amd64. Tuttavia, non tutte le distribuzioni dichiarano tutti i moduli LSB disponibili, quindi potrebbero essere disponibili più moduli di quelli rilevabili in questo modo.

  • Puoi scoprire la dimensione della parola preferita per lo sviluppo (supponendo che sia disponibile un compilatore C) compilando un programma C di 5 righe che stampa sizeof(void*) o sizeof(size_t) .


Puoi usare uname -a e cerca x86_64 per vedere se stai utilizzando 64 bit. Qualsiasi altra cosa (per quanto ne so) e stai utilizzando 32 bit o sei su hardware non PC come alpha , sparc o ppc64 .


uname -m | sed 's/x86_//;s/i[3-6]86/32/'

Linux
  1. Comando Linux mv

  2. comando IP Linux

  3. comando cd di Linux

  4. Esempi di comandi "uname" per verificare la versione UNIX/Linux

  5. Modalità operativa CPU a 32 bit e 64 bit su Linux

Comando Uname in Linux

Al comando in Linux

Comando Linux WC per contare il numero di righe, parole e caratteri

Comprendere il comando uname in Linux

Come contare il numero di file in una directory in Linux

Una guida al comando atop in Linux