GNU/Linux >> Znalost Linux >  >> Linux

Linuxový příkaz pro návrat počtu bitů (32 nebo 64)?

  • Můžete zjistit, zda CPU je 64bitový, 32bitový nebo umožňuje obojí zaškrtnutím flags řádek v /proc/cpuinfo . Musíte znát možné příznaky vaší rodiny architektury. Například na platformách i386/amd64 lm příznak identifikuje CPU podporující amd64 (CPU, které tento příznak nemají, jsou pouze i386).

    grep -q '^flags\s*:.*\blm\b' /proc/cpuinfo    # Assuming a PC
    
  • Můžete zjistit, zda je jádro 32bitové nebo 64bitové, dotazem na architekturu pomocí uname -m . Například i[3456]86 jsou 32bitové, zatímco x86_64 je 64bitový. Všimněte si, že na několika architekturách může 64bitové jádro spouštět 32bitové uživatelské programy, takže i když uname -m zobrazuje 64bitové jádro, není zaručeno, že budou dostupné 64bitové knihovny.

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

    Všimněte si také, že uname -m může vrátit „virtualizovanou“ hodnotu. Například pod Linuxem, pokud spustíte setarch i386 bash na systému amd64 a spustíte uname -m z tohoto bashu uvidíte uname -m hlášení i386 . To vám efektivně umožňuje předstírat, že jste na „32bitovém systému“, i když je jádro 64bitové, například pro kompilaci 32bitových programů bez nastavení křížové kompilace.

  • Co je k dispozici v uživatelské zemi, můžete zjistit dotazem na podporu LSB pomocí lsb_release příkaz. Přesněji lsb_release -s vypíše : -samostatný seznam podporovaných funkcí LSB. Každý prvek má tvar module-version-architecture . Například dostupnost knihovny ix86 C je označena core-2.0-ia32 , zatímco core-2.0-amd64 je analog pro amd64. Ne každá distribuce však deklaruje všechny dostupné moduly LSB, takže jich může být k dispozici více, než je tímto způsobem zjistitelné.

  • Upřednostňovanou velikost slova pro vývoj (za předpokladu, že je k dispozici kompilátor C) můžete zjistit zkompilováním 5řádkového programu C, který vypíše sizeof(void*) nebo sizeof(size_t) .


Můžete použít uname -a a vyhledejte x86_64 abyste zjistili, zda používáte 64bitovou verzi. Cokoli jiného (pokud vím) a používáte 32bitovou verzi nebo používáte hardware jiného než PC, jako je alpha , sparc nebo ppc64 .


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

Linux
  1. Linuxový příkaz mv

  2. Linux du command

  3. Linuxový ip příkaz

  1. Linux cd příkaz

  2. Maximální počet pevných disků v 64bitovém Linuxu?

  3. Operační režim 32bitového, 64bitového CPU v systému Linux

  1. Linux uname Command Tutorial pro začátečníky (8 příkladů)

  2. Příklady příkazů „uname“ ke kontrole verze UNIX/Linux

  3. Jak poznám, zda používám 32 nebo 64bitový Linux?