Linux最常用的硬件相关的命令

Linux最常用的硬件相关的命令

  • Linux最常用的硬件相关的命令
    • 查看块设备的lsblk
    • 显示管理磁盘分区 fdisk
      • 显示当前系统的分区情况
    • 显示硬件信息的hwinfo
      • **显示所有硬件信息**:
      • **指定特定硬件信息**:
    • 列出系统硬件信息的lshw
      • 显示所有硬件信息
      • 查看摘要硬件信息
      • 查看特定硬件信息(如网络、内存、硬盘等设备)
    • 放空一下自我 free
      • 默认的效果
      • 使用易读的参数
      • 间隔显示内存状态
      • 查看meminfo文件
    • 显示CPU架构的有关信息 lscpu
      • 默认实例
    • lspci 显示当前设备的PCI总线信息
      • 显示当前主机的所有PCI总线信息:
      • 以数字方式显示PCI厂商和设备代码
      • 同时显示数字方式还有设备代码信息
      • 以树状结构显示PCI设备的层次关系:
    • Linux reboot/poweroff/halt 命令
      • 语法
      • 立即关机

Linux最常用的硬件相关的命令

仅个人想法,会持续不间断更新和改进。

怎么忽然来硬的呢,因为在Linux的世界中,系统是灵活,但是骨架同样重要。

而跟踪确认硬件信息对于我们同样重要。

同时还增加了系统的关机。

查看块设备的lsblk

lsblk 命令可以查看系统中的块设备信息

$ lsblk

这个命令会列出系统中所有的块设备(比如硬盘、分区和挂载点)的信息。

默认情况下,它会显示每个设备的名称、大小、类型、挂载点等信息。

如果需要显示更详细的信息,可以使用 -a--all 选项:

$ lsblk -a

这会显示完整的块设备信息,包括未挂载的设备。

当然,还可以根据需求,定制化输出,不过单单这个命令,足矣。

显示管理磁盘分区 fdisk

fdisk是用于检查一个磁盘上分区信息最通用的命令。

fdisk可以显示分区信息及一些细节信息,比如文件系统类型等。

设备的名称通常是/dev/sda、/dev/sdb 等。

对于以前的设备有可能还存在设备名为 /dev/hd* (IDE)的设备,这个设备逐步淘汰了。

fdisk也可以用于创建并操控分区表信息,支持主任GPU、MBR、Sun、SGI和BSD。

块设备可以划分为一个或多个称为分区的逻辑磁盘。这种划分的记录会保存在分区表,通常位于磁盘的第 0 扇区。

fdisk的官方解释为:

fdisk - manipulate disk partition table

语法格式为:

$ fdisk [options] device$ fdisk -l [device...]

其中一些常用的参数为:

  • -l 列出指定的外围设备的分区表状况
  • -L, --color[=when] :将输出颜色化,其中when可以指定为auto, never or always. 默认为 auto.

显示当前系统的分区情况

这个也是我唯一推荐入门者使用的 命令,仅仅list显示出目前的系统分区。

万万不要输入fdisk执行其他操作,极易格式化硬盘,切记切记。

$ fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.Disk /dev/sda: 256.1 GB, 256060514304 bytes, 500118192 sectors # 磁盘空间及扇区信息
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: FAF37680-0ECE-4BE7-93FC-E87A8F2F6455

显示硬件信息的hwinfo

hwinfo 又一个用于显示硬件信息的命令。

可以获得 Linux 系统的各种硬件组件(如CPU、内存、显卡、硬盘等)的详细信息。

显示所有硬件信息

sudo hwinfo

列出系统上几乎所有可用硬件的详细信息。

指定特定硬件信息

sudo hwinfo --cpu
sudo hwinfo --memory
sudo hwinfo --gfxcard
sudo hwinfo --disk

通过在命令后添加 --cpu--memory--gfxcard--disk 等参数,获取特定硬件的信息。

列出系统硬件信息的lshw

lshwHardware Lister 的缩写,直面意思即列出系统硬件信息。

可以显示关于计算机硬件组件(如处理器、内存、硬盘、网卡等)的详细信息,对于系统管理员和用户来说是一个非常有用的工具。

显示所有硬件信息

任何参数都不加的话,可用,信息极多,但是可用信息不多。

sudo lshw

这将输出系统中所有可用硬件的详细信息,包括硬件组件的制造商、型号、驱动程序等。

查看摘要硬件信息

显示摘要信息:相对而言,这个反而好一些,简单的就是有用的

sudo lshw -short

这将显示硬件的摘要信息,包括设备名、类别、描述等。

查看特定硬件信息(如网络、内存、硬盘等设备)

显示指定类型的硬件信息

sudo lshw -C network

上述示例将仅显示网络相关的硬件信息。

比如还可以查看memorycpudisk等信息。

lshw提供了全面的硬件信息,帮助用户了解系统配置和硬件组件的细节。在查看和诊断硬件问题或了解系统配置时,它是一个非常有用的工具。

放空一下自我 free

**free**这个命令在Linux系统监控的工具里面,算是使用的比较多的一个。

使用_man_查看可知,官方含义为:

Display amount of free and used memory in the system

也就是显示可用、易用的系统内存,它直接读取/proc/meminfo文件。

默认的效果

先看下不加任何参数的时候,free的效果:

$ freetotal        used        free      shared  buff/cache   available
Mem:       32664832    15667736      674136      464892    16322960    15803156
Swap:      16449532     3039756    13409776

看起来很多的样子,但是不直观,我比较喜欢加上-h参数。

使用易读的参数

-h参数,跟前面的df等命令类似,此处的h表示_human being_的含义方便人类阅读。 除了这个还有_-b,-k,-m,-g_,含义分别为按照_字节、KB、MB、GB_的格式来显示。

$ free -htotal        used        free      shared  buff/cache   available
Mem:            31G         14G        655M        453M         15G         15G
Swap:           15G        2.9G         12G

Wow,此时的显示简直好简洁。

说下其中的含义:

  • total : 表示总的物理内存大小,比如上面的就表示31GB的内存

  • used :表示已经使用的内存大小,比如上面的就是使用了14GB

  • free :表示可用多少

  • shared:表示多个进程共享的内存大小

  • buff/cache:表示磁盘缓存的大小,这里有两个方面,buffcache,两个的含义不同

    • buff :something that has yet to be ‘writeen’ to disk ,还没有写入磁盘
    • cache: something that had been ‘read’ from the disk and store for later user,从磁盘读取的方便下一次使用
    • 这里就设计到Linux的设计哲学,比如读取一个100G的文件,第一次所使用的时间总归是后面再次读取的时间的好几倍,当然前提是没有释放掉caches
  • available:当然含义为可用的内存容量大小

间隔显示内存状态

还有一个比较常用的就是,如果你希望过一段时间就看下free的情况,OK,使用参数-s,后面跟的单位是秒,也就是每个几秒,统计一下使用的内存情况,比如我们每个2s,显示一下

$ free -s 2total        used        free      shared  buff/cache   available
Mem:       32664832    15668528      670964      464892    16325340    15802360
Swap:      16449532     3039756    13409776total        used        free      shared  buff/cache   available
Mem:       32664832    15669760      669724      464892    16325348    15801124
Swap:      16449532     3039756    13409776total        used        free      shared  buff/cache   available
Mem:       32664832    15670220      669248      464892    16325364    15800652
Swap:      16449532     3039756    13409776total        used        free      shared  buff/cache   available
Mem:       32664832    15669264      670204      464892    16325364    15801624
Swap:      16449532     3039756    13409776

查看meminfo文件

$ cat /proc/meminfo

其实free读取的就是这个文件的某些信息,可以通过同步监控这个文件来check free的状态。

显示CPU架构的有关信息 lscpu

Linux的CPU设备查看器。lscpu命令用来显示cpu的相关信息。
lscpusysfs/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读 。
命令输出的信息包含cpu数量,线程,核数,socket和Nom-Uniform Memeor Access(NUMA),缓存等等。

官方定义为:

lscpu - display information about the CPU architecture

参数基本用处不大,默认即可,部分参数可以查看offline和online的设备信息。

默认实例

$ lscpu
Architecture:          x86_64       		#架构信息 
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                64   				#逻辑cpu颗数 
On-line CPU(s) list:   0-63
Thread(s) per core:    2 					#每个核心线程
Core(s) per socket:    16 					#每个cpu插槽核数/每颗物理cpu核数 
Socket(s):             2  					#cpu插槽数
NUMA node(s):          2
Vendor ID:             GenuineIntel 		#cpu厂商ID 
CPU family:            6   					#cpu系列 
Model:                 63 					#型号 
Model name:            Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz
Stepping:              2 					#步进 
CPU MHz:               1290.335 			#cpu主频
BogoMIPS:              4604.47
Virtualization:        VT-x  				#cpu支持的虚拟化技术 
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              40960K
NUMA node0 CPU(s):     0-15,32-47
NUMA node1 CPU(s):     16-31,48-63

其中几个概念需要理解清楚,基本比较重要的都有了备注。

其中第一个为CPU(s),这个值为Socket * Core * Thread得出,也就是逻辑的CPU个数。

CPU(s):                64   #逻辑CPU数
On-line CPU(s) list:   0-63
Thread(s) per core:    2     
Core(s) per socket:    16
socket:                2

而其他几个概念为:

  • Socket : 物理上的CPU插槽的数量,也就是物理的实体概念
  • Core:即平常说的单核、多核、四核等,即每个CPU上的核数
  • Thread:每个core上的线程数,即超线程。

lspci 显示当前设备的PCI总线信息

lspci命令用于显示PCI总线的信息,以及所有已连接的PCI设备信息。

官方定义为:

lspci - list all PCI devices

默认情况下,lspci会显示一个简短的设备列表。 使用使用一些参数来显示更详细的输出或供其他程序解析的输出。

不过需要注意的是,在许多操作系统上,对 PCI 配置空间的某些部分的访问仅限于 root,因此普通用户可用的 lspci 功能受到限制。

使用方法为:

$ lspci [options]

其中常用的三个选项为:

  • -n 以数字方式显示PCI厂商和设备代码
  • -t 以树状结构显示PCI设备的层次关系
  • -v 显示更详细的输出信息

显示当前主机的所有PCI总线信息:

默认无参数的显示

$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMI2 (rev 02)
00:01.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 1 (rev 02)
00:02.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 (rev 02)
00:03.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 (rev 02)
00:03.2 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 (rev 02)
00:04.0 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 0 (rev 02)
00:04.1 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 1 (rev 02)
00:04.2 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 2 (rev 02)
......

以数字方式显示PCI厂商和设备代码

以数字形式显示

$ lspci -n
00:00.0 0600: 8086:2f00 (rev 02)
00:01.0 0604: 8086:2f02 (rev 02)
00:02.0 0604: 8086:2f04 (rev 02)
00:03.0 0604: 8086:2f08 (rev 02)
00:03.2 0604: 8086:2f0a (rev 02)
00:04.0 0880: 8086:2f20 (rev 02)
00:04.1 0880: 8086:2f21 (rev 02)
00:04.2 0880: 8086:2f22 (rev 02)
......

同时显示数字方式还有设备代码信息

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMI2 [8086:2f00] (rev 02)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 1 [8086:2f02] (rev 02)
00:02.0 PCI bridge [0604]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 [8086:2f04] (rev 02)
00:03.0 PCI bridge [0604]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 [8086:2f08] (rev 02)
00:03.2 PCI bridge [0604]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 [8086:2f0a] (rev 02)
00:04.0 System peripheral [0880]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 0 [8086:2f20] (rev 02)
00:04.1 System peripheral [0880]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 1 [8086:2f21] (rev 02)
00:04.2 System peripheral [0880]: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 2 [8086:2f22] (rev 02)
......

以树状结构显示PCI设备的层次关系:

$ lspci -t
lspci -t
-+-[0000:ff]-+-08.0|           +-08.2|           +-1f.0|           \-1f.2+-[0000:80]-+-01.0-[81]----00.0|           +-04.0|           +-05.1|           +-05.2|           \-05.4+-[0000:7f]-+-08.0|           +-08.2|           +-0c.1\+-0c.2

Linux reboot/poweroff/halt 命令

Linux halt, poweroff, reboot 用来挂起、关机或者重启机器,成功后返回0。

这不是一个命令,这是三个命令,只不过三个命令的参数都是一致的。

官方定义为:

halt, poweroff, reboot - Halt, power-off or reboot the machine

其实这三个命令都可以通过shutdown来执行,并且相对而言shutdown的参数还更多一些。

语法

使用方法如下:

$ halt [OPTIONS...]$ poweroff [OPTIONS...]$ reboot [OPTIONS...]

参数如下所示:

  • --halt 将机器挂起,三个命令均相同
  • -p, --poweroff 将机器关机,三个命令均相同
  • --reboot 将机器重启,三个命令均相同
  • -f, --force 立即执行挂起、关机和重启,一般对于force而言,除非万不得已,否则进来莫用
  • -n, --no-sync 在挂起、关机或重启前不对硬盘进行同步,这个很危险呀,进来不要用呀
  • --no-wall 在挂起、关机或重启前不发送警告信息,对于多用户不友好

立即关机

接下来的三个命令一致,都是将电脑关机,不过这个用法总归感觉怪怪的,所以还是分开各司其职比较好。比如关机还是poweroff,重启还是reboot吧。

$ halt --poweroff$ poweroff --poweroff$ reboot --poweroff

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang session实现库 支持cookie, redis,mysql等多种存储方式

golang中官方是不支持session的, 如果想要实现session则需要自己动手来实现,或者使用第三方的go-session实现库, 今天就给大家介绍一个go语言的第三方session实现库 go-sessions,支持 的存储方式有 cookie, file, redis, mysql等众…

学习Java的日子 Day49 函数,DOM

Day48 1.流程控制语句 if else for for-in(遍历数组时,跟Java是否一样) While do while break 语句用于跳出循环 continue 用于跳过循环中的一个迭代 2.函数 2.1 JavaScript 函数语法 函数就是包裹在花括号中的代码块,前面使用了关键词 function funct…

图论(四)—最短路问题(Dijkstra)

一、最短路 概念:从某个点 A 到另一个点B的最短距离(或路径)。从点 A 到 B 可能有多条路线,多种距离,求其中最短的距离和相应路径。 最短路径分类: 单源最短路:图中的一个点到其余各点的最短路径…

(ICRA 2024) Diffusion-Based Point Cloud Super-Resolution for mmWave Radar Data

今天介绍一篇使用Diffusion模型来生成超分辨率雷达点云的方法。毫米波雷达传感器在不利的环境条件下可以保持稳定的性能,使其成为室外移动机器人全天候感知任务的一个有希望的解决方案。然而,雷达点云相对稀疏,包含大量鬼点,极大地…

【驱动】RS485收发控制、自动收发电路及波特率限制

1、芯片本身支持自动收发 RS485收发器芯片本身支持自动收发切换: 优点:简化硬件设计和软件编程,减少外部控制线;缺点:成本高,传输速率可能受限制。下面介绍几款支持自动收发切换的RS485/422芯片 1.1 MAX13487 MAX13487 是一款由 美信(Maxim) 生产的半双工 RS-485/RS…

旧衣回收小程序开发,互联网发展下的巨大商机

随着人们生活水平的提高,对衣物的要求也越来越高,因此推动了旧衣回收市场的发展,旧衣回收行业逐渐兴起。 而在互联网的持续发展下,旧衣回收行业也从传统的回收箱走向了线上旧衣回收小程序。在当下社会中,完善线上旧衣…

2024上半年软件设计师考试

设计模式的两种分类依据_设计模式 创建型 结构型 行为型的区别-CSDN博客 归纳:数据库设计的六个阶段详解(有这一篇就够了)-腾讯云开发者社区-腾讯云 https://www.cnblogs.com/sunbr/p/12552910.html https://www.cnblogs.com/timefiles…

C++模版初阶STL简介

目录 1.泛型编程 2.函数模版 2.1概念 2.2格式 2.3原理 2.4函数模版的实例化 2.5模版参数的匹配原则 3.类模板 3.1类模板的定义格式 3.2类模板的实例化 1.泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;l…

深入理解Python中的循环引用和垃圾回收

引言 在现代软件开发中,内存管理是保证程序性能和稳定性的关键因素之一。垃圾回收(Garbage Collection,GC)作为一种自动内存管理机制,它能够自动释放不再使用的内存资源,从而避免内存泄漏和程序崩溃。Pyth…

Unity网络层剖析(一)——TCP与UDP

文章目录 前言一、TCP二、UDP二、如何选择TCP与UDP总结 前言 这篇文章本应是读书系列中的一章,但由于所有Unity书籍或多或少都会涉及网络部分,而我本人对网络也有一定了解并具备相关经验,因此决定结合多个书本内容、网络上的概念以及自身的经…

视频汇聚管理平台EasyCVR程序报错“create jwtSecret del server class:0xf98b6040”的原因排查与解决

国标GB28181协议EasyCVR安防视频监控平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,平台支持7*24小时实时高清视频监控,能同时播放多路监控视频流…

黎加厚教授:生成式人工智能对课程教材教法的影响

01 生成式人工智能与过去的信息技术有哪些不一样的地方 2023年,生成式人工智能(GenAI)犹如百年惊雷,改变了我对计算机的认识。最先让我折服的是AI绘画,我只需要把心中想象的场景用提示词详细描述,立刻就生…

Java面向对象-常用类(Random类)

常用类-Random类 1 创建Random类对象 此类用于生成随机数: Random(); 创建一个新的随机数生成器 Random(long seed);种子数(重点理解工作原理,什么是伪随机数) 2 Random类常用方法 package com.qf.random_class;import java.util.Random;public class …

LeetCode刷题之HOT100之无重复字符的最长子串

今天搬工位了,研二的师兄师姐在这儿坐了半年,现在轮到我么们了。做题先 1、题目描述 2、逻辑分析 题目要求很明确,就是要找出无重复字符的最长。怎么求解呢?题解给出了滑动窗口的算法方案。 3、代码演示 public int lengthOfLo…

【管理咨询宝藏114】贝恩为某知名化妆品战略规划方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏114】贝恩为某知名化妆品战略…

【软件设计师】——8.结构化与数据流图

目录 8.1 结构化分析 8.2 结构化设计 8.3 数据流图DFD 8.4 数据字典 8.1 结构化分析 结构化分析是面向数据流进行需求分析的方法,采用结构化方法进行系统分析时,根据分解与抽象原则,按照系统中数据处理的流程,用(数…

Hadoop大数的一些知识点分享给大家~~~~

查看zookeeper服务状态的命令是哪个? 要查看ZooKeeper服务的状态,可以使用zkServer.sh脚本的status命令。这个脚本通常位于ZooKeeper的安装目录的bin子目录中。以下是具体的命令: sh zkServer.sh status zkServer.sh status 当你运行这个命…

【Linux环境搭建实战手册】:打造高效开发空间的秘籍

文章目录 🚀Linux环境搭建💥1. 设备要求❤️2. 了解虚拟机🚀3. 安装VMware🌈4. 终端基础信息解读 🚀Linux环境搭建 💥1. 设备要求 处理器(CPU):至少具有1 GHz的处理能力&…

微信小程序处理点击微信订阅消息通知到二级页面,右上角会出现到初始化页面

1.页面传参 正常跳转到详情页 wx.navigateTo({url: "/pages/use/OA/index/index",}) 订阅消息通知跳转到详情页 wx.reLaunch({url: /pages/use/OA/index/index?taptrue, }) 2.二级页面进行判断 // 获取路由参数,判断是否是订阅消息进来的 订阅消息进来…

VSCode中snippets(代码模板)的使用

首先安装Vue VSCode Snippets,在组件库中搜索并安装。 然后打开插件文件夹 文件夹名是 "作者名.vscode-插件名-版本号"组成的. C:\Users\Administrator\.vscode\extensions\sdras.vue-vscode-snippets-3.1.1\snippets 打开vue.json "prefix"…