GNU/Linux >> Tutoriales Linux >  >> Linux

¿Comando de Linux para devolver el número de bits (32 o 64)?

  • Puede ver si la CPU es de 64 bits, 32 bits, o ambos, marcando el flags línea en /proc/cpuinfo . Tienes que conocer las posibles banderas en tu familia de arquitectura. Por ejemplo, en las plataformas i386/amd64, el lm identifica las CPU compatibles con amd64 (las CPU que no tienen esa bandera son solo i386).

    grep -q '^flags\s*:.*\blm\b' /proc/cpuinfo    # Assuming a PC
    
  • Puede ver si el kernel es de 32 bits o de 64 bits consultando la arquitectura con uname -m . Por ejemplo, i[3456]86 son de 32 bits mientras que x86_64 es de 64 bits. Tenga en cuenta que en varias arquitecturas, un kernel de 64 bits puede ejecutar programas de 32 bits en el espacio del usuario, por lo que incluso si el uname -m muestra un kernel de 64 bits, no hay garantía de que las bibliotecas de 64 bits estén disponibles.

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

    Tenga en cuenta también que uname -m puede devolver un valor "virtualizado". Por ejemplo, en Linux, si ejecuta setarch i386 bash en un sistema amd64 y ejecuta uname -m de esa fiesta, verás uname -m informando i386 . Esto le permite fingir que está en un "sistema de 32 bits" aunque el kernel sea de 64 bits, por ejemplo, para compilar programas de 32 bits sin configurar la compilación cruzada.

  • Puede ver lo que está disponible en la zona de usuario consultando el soporte de LSB con el lsb_release dominio. Más precisamente, lsb_release -s imprime un : -Lista separada de funciones LSB admitidas. Cada función tiene la forma module-version-architecture . Por ejemplo, la disponibilidad de una biblioteca ix86 C se indica mediante core-2.0-ia32 , mientras que core-2.0-amd64 es el análogo para amd64. Sin embargo, no todas las distribuciones declaran todos los módulos LSB disponibles, por lo que puede haber más disponibles de los que se pueden detectar de esta manera.

  • Puede averiguar el tamaño de palabra preferido para el desarrollo (suponiendo que haya un compilador C disponible) compilando un programa C de 5 líneas que imprima sizeof(void*) o sizeof(size_t) .


Puedes usar uname -a y busca x86_64 para ver si está ejecutando 64 bits. Cualquier otra cosa (hasta donde yo sé) y está ejecutando 32 bits o está en hardware que no es de PC como alpha , sparc o ppc64 .


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

Linux
  1. comando linux mv

  2. Linux du comando

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

  4. Modo operativo de CPU de 32 bits y 64 bits en Linux

  5. ¿Cómo sé si estoy ejecutando Linux de 32 o 64 bits?

Comando Uname en Linux

Al mando en Linux

Comando WC de Linux para contar el número de líneas, palabras y caracteres

Comprender el comando uname en Linux

Cómo contar el número de archivos en un directorio en Linux

Una guía para el comando superior en Linux