Linux系统查看操作系统版本信息、CPU信息、模块信息

简介: 在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息

Linux系统查看操作系统版本信息、CPU信息、模块信息

一、操作系统信息

在Linux系统中,cat /proc/version命令用于显示系统的版本信息。具体来说,这个命令会读取/proc/version文件的内容,并将其输出到标准输出设备(通常是终端)。

详细解释

cat命令:

cat是一个常用的命令行工具,用于显示文件的内容。它的名称来源于“concatenate”(连接),因为最初的设计是用于连接多个文件并输出到标准输出。

• 基本语法:cat [文件名]

/proc/version文件:

/proc是一个虚拟文件系统,它提供了一个接口,允许用户空间程序访问内核数据结构和运行时信息。

/proc/version文件包含系统的版本信息,这些信息通常包括:

• Linux内核版本

• 构建内核的GCC版本

• 构建内核的用户和日期

• 构建内核的主机名

示例输出

在大多数Linux系统中,执行cat /proc/version命令的输出可能如下所示:

Linux version 5.10.0-14-amd64 (debian-kernel@lists.debian.org) (gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.113-1 (2022-04-08)

输出解释

• Linux version 5.10.0-14-amd64:表示Linux内核的版本号,这里是5.10.0-14-amd64。

• (debian-kernel@lists.debian.org):表示构建内核的用户或团队,这里是Debian内核团队。

• (gcc(Debian 10.2.1-6)10.2.1 20210110,GNU ld(GNU Binutils for Debian)2.35.2):表示构建内核时使用的编译器和链接器的版本,这里是GCC 10.2.1和GNU ld 2.35.2。

• #1 SMP Debian 5.10.113-1(2022-04-08):表示这是第1次构建的SMP(对称多处理)内核,构建日期是2022年4月8日,Debian版本号是5.10.113-1。

实际应用

• 系统管理员:

• 系统管理员可以使用cat /proc/version命令来快速查看系统的内核版本,以便进行系统维护和故障排除。

• 例如,当需要确认系统是否支持某个特定的功能或驱动时,内核版本信息非常有用。

• 开发人员:

• 开发人员可以使用这个命令来验证开发环境的内核版本,确保开发的软件与目标系统兼容。

• 例如,某些内核模块或驱动程序可能需要特定的内核版本才能正常工作。

• 安全审计:

• 安全审计人员可以使用这个命令来检查系统的内核版本,确保系统使用的是已知安全的内核版本,及时更新内核以修复已知的安全漏洞。

总结

cat /proc/version命令是一个简单但非常实用的工具,可以帮助用户快速获取系统的版本信息。通过这些信息,用户可以更好地了解系统的运行环境,进行系统维护、开发和安全审计等工作。

二、CPU信息

在Linux系统中,lscpu命令用于显示CPU的详细信息,包括CPU架构、核心数、线程数、缓存大小等。这个命令非常有用,可以帮助用户了解系统的CPU配置,进行性能评估和系统优化。

详细解释

lscpu命令:

lscpu是一个常用的命令行工具,用于显示CPU的详细信息。

• 基本语法:lscpu

示例输出

在大多数Linux系统中,执行lscpu命令的输出可能如下所示:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          8
On-line CPU(s) list:             0-7
Thread(s) per core:              2
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           142
Model name:                      Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Stepping:                        9
CPU MHz:                         3460.801
CPU max MHz:                     3800.0000
CPU min MHz:                     800.0000
BogoMIPS:                        5600.00
Virtualization:                  VT-x
L1d cache:                       32 KiB
L1i cache:                       32 KiB
L2 cache:                        256 KiB
L3 cache:                        6 MiB
NUMA node0 CPU(s):               0-7

输出解释

• Architecture:CPU的架构类型,这里是x86_64。

• CPU op-mode(s):CPU支持的操作模式,这里是32位和64位。

• Byte Order:字节序,这里是Little Endian。

• Address sizes:物理地址和虚拟地址的位数,这里是39位物理地址和48位虚拟地址。

• CPU(s):逻辑CPU的总数,这里是8个。

• On-line CPU(s)list:在线的逻辑CPU列表,这里是0-7。

• Thread(s)per core:每个核心的线程数,这里是2个。

• Core(s)per socket:每个插槽的核心数,这里是4个。

• Socket(s):CPU插槽的数量,这里是1个。

• NUMA node(s):NUMA节点的数量,这里是1个。

• Vendor ID:CPU供应商的标识,这里是GenuineIntel。

• CPU family:CPU家族,这里是6。

• Model:CPU型号,这里是142。

• Model name:CPU的完整名称,这里是Intel(R)Core(TM)i7-7700HQ CPU@2.80GHz。

• Stepping:CPU的步进版本,这里是9。

• CPU MHz:当前CPU的频率,这里是3460.801 MHz。

• CPU max MHz:CPU的最大频率,这里是3800.0000 MHz。

• CPU min MHz:CPU的最小频率,这里是800.0000 MHz。

• BogoMIPS:BogoMIPS值,用于表示CPU的处理能力,这里是5600.00。

• Virtualization:支持的虚拟化技术,这里是VT-x。

• L1d cache:L1数据缓存的大小,这里是32 KiB。

• L1i cache:L1指令缓存的大小,这里是32 KiB。

• L2 cache:L2缓存的大小,这里是256 KiB。

• L3 cache:L3缓存的大小,这里是6 MiB。

• NUMA node0 CPU(s):NUMA节点0上的逻辑CPU列表,这里是0-7。

实际应用

• 系统管理员:

• 系统管理员可以使用lscpu命令来快速查看系统的CPU配置,以便进行系统维护和性能优化。

• 例如,当需要确认系统是否支持虚拟化技术时,可以查看Virtualization字段。

• 开发人员:

• 开发人员可以使用这个命令来验证开发环境的CPU配置,确保开发的软件能够充分利用CPU的性能。

• 例如,当需要优化多线程应用时,可以查看Thread(s) per coreCore(s) per socket字段,了解CPU的线程和核心数。

• 性能评估:

• 性能评估人员可以使用lscpu命令来获取CPU的详细信息,进行性能基准测试和分析。

• 例如,通过查看CPU MHzCPU max MHzCPU min MHz字段,可以了解CPU的频率变化范围,评估其性能表现。

总结

lscpu命令是一个非常实用的工具,可以帮助用户快速获取系统的CPU详细信息。通过这些信息,用户可以更好地了解系统的硬件配置,进行系统维护、开发和性能评估等工作。

三、模块信息

详解lsmod命令:查看已加载的内核模块

在Linux系统中,lsmod命令用于列出当前已加载的内核模块及其相关信息。这个命令非常有用,可以帮助系统管理员和开发人员了解系统中加载了哪些模块,以及这些模块的依赖关系。本文将详细介绍lsmod命令的使用方法和输出内容,并提供一些实用的示例。

(一)、lsmod命令的基本用法

1.基本语法

lsmod

2.输出内容

执行lsmod命令后,会显示一个表格,包含以下几列:

• Module:模块的名称。

• Size:模块的大小(以字节为单位)。

• Used by:模块被使用的次数或依赖该模块的其他模块名称。

• Status:模块的状态(可选列,显示模块是否正在使用)。

(二)、示例输出

在大多数Linux系统中,执行lsmod命令的输出可能如下所示:

Module                  Size  Used by
coretemp               24576  0
crct10dif_pclmul       12288  1
snd_pcm               192512  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
iwlwifi               598016  1 iwldvm
cec                    94208  2 drm_display_helper,i915
rc_core                73728  1 cec
i2c_algo_bit           16384  2 i915,nouveau
nvram                  16384  1 thinkpad_acpi
polyval_clmulni        12288  0
polyval_generic        12288  1 polyval_clmulni
ghash_clmulni_intel    16384  0
snd_seq_midi           24576  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            57344  1 snd_seq_midi
snd_seq               114688  2 snd_seq_midi,snd_seq_midi_event
sha256_ssse3           32768  0
sha1_ssse3             32768  0
aesni_intel           356352  8
cfg80211             1327104  3 iwldvm,iwlwifi,mac80211
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
mei_me                 53248  2
snd_timer              49152  2 snd_seq,snd_pcm
crypto_simd            16384  1 aesni_intel
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
mei                   167936  5 mei_hdcp,mei_pxp,mei_me
snd                   143360  19 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,thinkpad_acpi,snd_pcm,snd_rawmidi
rapl                   20480  0
intel_cstate           24576  0
soundcore              16384  2 snd_ctl_led,snd
at24                   28672  0
input_leds             12288  0
ledtrig_audio          12288  2 snd_ctl_led,thinkpad_acpi
platform_profile       12288  1 thinkpad_acpi
think_lmi              45056  0
serio_raw              20480  0
mac_hid                12288  0
wmi_bmof               12288  0
firmware_attributes_class    12288  1 think_lmi
sch_fq_codel           24576  2
msr                    12288  0
parport_pc             53248  0
ppdev                  24576  0
lp                     28672  0
parport                73728  3 parport_pc,lp,ppdev
ramoops                36864  0
pstore_blk             16384  0
pstore_zone            32768  1 pstore_blk
efi_pstore             12288  0
reed_solomon           24576  1 ramoops
ip_tables              32768  0
x_tables               65536  1 ip_tables
autofs4                57344  2
crc32_pclmul           12288  0
i2c_i801               36864  0
ahci                   49152  2
sdhci_pci              90112  0
xhci_pci               24576  0
cqhci                  40960  1 sdhci_pci
i2c_smbus              16384  1 i2c_i801
libahci                53248  1 ahci
lpc_ich                32768  0
e1000e                356352  0
video                  73728  3 thinkpad_acpi,i915,nouveau
sdhci                  90112  1 sdhci_pci
psmouse               217088  0
xhci_pci_renesas       20480  1 xhci_pci
wmi                    28672  5 video,wmi_bmof,think_lmi,mxm_wmi,nouveau

(三)、输出内容解释

• Module:模块的名称,例如coretempcrct10dif_pclmul等。

• Size:模块的大小,以字节为单位,例如24576表示coretemp模块的大小为24576字节。

• Used by:模块被使用的次数或依赖该模块的其他模块名称。例如,snd_pcm模块被snd_hda_codec_hdmisnd_hda_intelsnd_hda_codecsnd_hda_core四个模块依赖。

四、实用示例

1.查看特定模块的信息

可以使用grep命令来过滤特定模块的信息。例如,查找名为ahci的模块信息:

lsmod | grep 'ahci'

输出可能如下所示:

ahci                   49152  2
libahci                53248  1 ahci

2.查看所有已加载模块的依赖模块

可以使用awk命令来提取模块名称和依赖模块信息:

lsmod | awk '{print $1, $4}'

输出可能如下所示:

coretemp 0
crct10dif_pclmul 1
snd_pcm snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
iwlwifi iwldvm
cec drm_display_helper,i915
rc_core cec
i2c_algo_bit i915,nouveau
nvram thinkpad_acpi
polyval_clmulni 0
polyval_generic polyval_clmulni
ghash_clmulni_intel 0
snd_seq_midi 0
snd_seq_midi_event snd_seq_midi
snd_rawmidi snd_seq_midi
snd_seq snd_seq_midi,snd_seq_midi_event
sha256_ssse3 0
sha1_ssse3 0
aesni_intel 8
cfg80211 iwldvm,iwlwifi,mac80211
snd_seq_device snd_seq,snd_seq_midi,snd_rawmidi
相关文章
|
1月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
119 3
Linux系统禁用swap
|
1月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
158 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
131 0
Linux系统初始化脚本
|
运维 安全 Devops
Cisco NX-OS ACI 16.1(4h)F 发布 - 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件
Cisco NX-OS ACI 16.1(4h)F 发布 - 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件
36 0
|
1月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
128 1
|
2月前
|
Web App开发 缓存 Rust
|
2月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
11月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
493 0
Vanilla OS:下一代安全 Linux 发行版
|
8月前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
394 10
|
9月前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
304 2
OS Copilot-操作系统智能助手-Linux新手小白的福音