概述:Linux的哲学思想“有众多功能目的单一的小程序,并且组合这些小程序来完成复杂任务”,而这些小程序有相当一部分都是我们所要用的命令,所以我们学习Linux,就要熟练使用和配合这些命令程序;而为了更好的了解linux命令,本人编辑此博客,来与小伙伴们分享,本人在学习linux过程中,所积累的命令。

——————————————————————————————————————————————————————————————————————————————

关于硬件信息的获取命令和方法

一、cup信息
1、lscpu:查看cpu信息
lscpu [-a|-b|-c] [-x] [-s directory] [-e[=list]|-p[=list]]
lscpu -h|-V

[root@localhost ~]# lscpu
Architecture:  x86_64
CPU op-mode(s):32-bit, 64-bit
Byte Order:Little Endian
CPU(s):1
On-line CPU(s) list:   0
Thread(s) per core:1
Core(s) per socket:1
座: 1
NUMA 节点: 1
厂商 ID:   GenuineIntel
CPU 系列:  6
型号:  37
型号名称:Intel(R) Core(TM) i3 CPU   M 380  @ 2.53GHz
步进:  5
CPU MHz: 2527.079
BogoMIPS:5054.15
超管理器厂商:  VMware
虚拟化类型: 完全
L1d 缓存:  32K
L1i 缓存:  32K
L2 缓存:   256K
L3 缓存:   3072K
NUMA 节点0 CPU:0

2、查看CPU信息相关文件

[root@localhost ~]# cat /proc/cpuinfo 
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 37
model name    : Intel(R) Core(TM) i3 CPU   M 380  @ 2.53GHz
stepping    : 5
microcode    : 0x2
cpu MHz        : 2527.079
cache size    : 3072 KB
physical id    : 0
siblings    : 1
core id        : 0
cpu cores    : 1
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 11
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer hypervisor lahf_lm arat dtherm tsc_adjust
bogomips    : 5054.15
clflush size    : 64
cache_alignment    : 64
address sizes    : 42 bits physical, 48 bits virtual
power management:

3、chcpu:修改cpu状态(以后我们在细研究)


>
二、内存信息
1、free:查看内存信息
free [选项]
常用选项
-b 显示内存的单位为字节
-k 显示内存的单位为 KB
-m 显示内存的单位为 M
-o 忽略缓冲区调节列
-t 总和信息
-s<时间> 每隔指定时间执行一次命令,单位为s,每个多少秒更新获取一次内存信息
-h 以可读形式显示容量,需要free -V显示版本大于3.3

第一部分
total:内存总数;
used:已经使用的内存数;
free:空闲的内存数;
shared:当前已经废弃不用;
buffers Buffer:缓存内存数;
cached Page:缓存内存数。

关系:total = used + free
第二部分
(-/+ buffers/cache)
解释:
(-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached
(+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
第三部分是指交换分区。

常用格式:

[root@localhost ~]# free -mh
       total     used      free  shared  buff/cache   available
Mem:   1.8G      516M      666M    10M     641M         1.1G
Swap:  4.0G       0B       4.0G

2、查看内存相关信息文件
内存使用的详细信息
[root@localhost ~]# cat /proc/meminfo
MemTotal:1868664 kB
MemFree: 682044 kB
MemAvailable:1133080 kB
Buffers:2452 kB
Cached: 544112 kB
SwapCached:0 kB
Active: 578396 kB
Inactive: 378136 kB
Active(anon): 412488 kB
Inactive(anon): 8648 kB
Active(file): 165908 kB
Inactive(file): 369488 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4194300 kB
SwapFree:4194300 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages:409988 kB
Mapped: 119680 kB
Shmem: 11168 kB
Slab: 110836 kB
SReclaimable: 56524 kB
SUnreclaim:54312 kB
KernelStack: 11312 kB
PageTables:23204 kB
NFS_Unstable: 0 kB
Bounce:0 kB
WritebackTmp: 0 kB
CommitLimit: 5128632 kB
Committed_AS:2342728 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 172924 kB
VmallocChunk: 34359559324 kB
HardwareCorrupted: 0 kB
AnonHugePages:186368 kB
HugePages_Total: 0
HugePages_Free:0
HugePages_Rsvd:0
HugePages_Surp:0
Hugepagesize: 2048 kB
DirectMap4k: 102272 kB
DirectMap2M: 1994752 kB


三、磁盘信息

1、lsblk:块设备(不包括RAM盘)列表

lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk。Fedora用户可以通过命令sudo yum install util-linux-ng来安装该包
lsblk [options] [device...]
选项
-a, --all 显示所有设备。
-b, --bytes 以bytes方式显示设备大小。
-d, --nodeps 不显示 slaves 或 holders。
-D, --discard print discard capabilities。
-e, --exclude 排除设备 (default: RAM disks)。
-f, --fs 显示文件系统信息。
-m, --perms 显示权限信息。
-l, --list 使用列表格式显示。
-n, --noheadings 不显示标题。
-o, --output 输出列。
-P, --pairs 使用key="value"格式显示。
-r, --raw 使用原始格式显示。
-t, --topology 显示拓扑结构信息。

7个栏目名称如下:
NAME:这是块设备名。
MAJ:MIN:本栏显示主要和次要设备号。
RM:本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。
SIZE:本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。
RO:该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。
TYPE:本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
MOUNTPOINT:本栏指出设备挂载的挂载点。
默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:
lsblk -a
lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:
lsblk -m
该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:
lsblk -b /dev/sda 等价于 lsblk --bytes /dev/sda
你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:
lsblk -nl
要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。
lsblk -S
lsblk列出SCSI设备,而-s是逆序选项(将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令:
lsblk -s

常用格式:

[root@localhost ~]# lsblk -a
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda  8:00  200G  0 disk 
├─sda1   8:10  200M  0 part /boot
├─sda2   8:20  100G  0 part /
├─sda3   8:304G  0 part [SWAP]
├─sda4   8:401K  0 part 
└─sda5   8:50   20G  0 part /testdir
sr0 11:01  7.2G  0 rom  /mnt
[root@localhost ~]# lsblk -m
NAMESIZE OWNER GROUP MODE
sda 200G root  disk  brw-rw----
├─sda1  200M root  disk  brw-rw----
├─sda2  100G root  disk  brw-rw----
├─sda34G root  disk  brw-rw----
├─sda41K root  disk  brw-rw----
└─sda5   20G root  disk  brw-rw----
sr0 7.2G root  cdrom brw-rw----

2、fdisk:用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v
fdisk -h

-b<分区大小>:指定每个分区的大小;
-l:列出指定的外围设备的分区表状况;
-s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块;
-u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
...

常用格式:

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000af0bf

设备 Boot       Start        End         Blocks  Id  System
/dev/sda1       *2048      411647       204800   83  Linux
/dev/sda2      411648   210126847    104857600   83  Linux
/dev/sda3   210126848   218515455      4194304   82  Linux swap / Solaris
/dev/sda4   218515456   419430399   1004574725       Extended
/dev/sda5   218517504   260460543     20971520   83  Linux

3、df:显示文件系统磁盘空间使用情况。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df [OPTION]... [FILE]...
-a, --all
列出包括BLOCK为0的文件系统
--block-size=SIZE use SIZE-byte blocks
指定块的大小
-h,--huma-readable
用常见的格式显示出大小(例如:1K 234M 2G)
-H,--si
同上,但是这里的1k等于1000字节而不是1024字节
-i, --inodes
用信息索引点代替块表示使用状况
-k, --kilobytes
指定块大小等于1024字节来显示使用状况
-l, --local
只显示本地文件系统使用状况
-m, --megabytes
以指定块大小等于1048576字节(1M)来显示使用状况
--no-sync
在取得使用信息前禁止调用同步 (default)
-P, --portability
使用POSIX格式输出
--sync
在取得使用信息前调用同步
-t, --type=TYPE
只显示指定类型(TYPE)的文件系统
-T, --print-type
输出每个文件系统的类型
-x, --exclude-type=TYPE
只显示指定类型(TYPE)之外的文件系统.
-v (忽略)

常用格式:

[root@localhost ~]# df -h
文件系统         容量        已用        可用      已用%         挂载点
/dev/sda2       100G       4.4G        96G       5%            /
devtmpfs        899M          0       899M       0%            /dev
tmpfs           913M        88K       913M       1%            /dev/shm
tmpfs           913M       9.0M       904M       1%            /run
tmpfs           913M          0       913M       0%            /sys/fs/cgroup
/dev/sda1       197M       139M        59M      71%            /boot
/dev/sda5        20G        33M        20G       1%            /testdir
tmpfs           183M        24K       183M       1%            /run/user/0
/dev/sr0        7.3G       7.3G          0     100%            /mnt

4、查看磁盘相关信息文件

[root@localhost ~]# cat /proc/partitions 
  major     minor     #blocks     name  
  11          0       7587840      sr0
   8          0     209715200      sda
   8          1        204800      sda1
   8          2     104857600      sda2
   8          3       4194304      sda3
   8          4             1      sda4
   8          5      20971520      sda5

四、其他设备信息
主板(接口):lspci
网卡:lspci |grep -i ‘eth’ 或者 ip link show
网卡IP:ifconfig
显卡:lspc |grep -i ‘vga’
查看设备IO端口cat /proc/ioports
查看设备的信息cat /proc/pci - PCI

五、dmidecode命令
Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息。Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等。

命令格式 : dmidecode -t typecode

typecode 对应的编码如下:

0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Device

例如:
使用dmidecode -t 1 可以查看主板信息(制造商、型号、序列号等等)
使用dmidecode -t 4 可以查看CPU信息(CPU数目、型号、大小、频率等等)

常用参数:
-d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
从设备文件读信息,输出内容与不加参数标准输出相同
-h, --help Display this help text and exit
显示帮助信息
-q, --quiet Less verbose output
显示更少的简化信息
-s, --string KEYWORD Only display the value of the given DMI string
只显示指定DMI字符串的信息
-t, --type TYPE Only display the entries of given type
只显示指定条目的信息
-u, --dump Do not decode the entries
显示未解码的原始条目内容

查看服务器型号:dmidecode | grep 'Product Name'
查看主板的序列号:dmidecode |grep 'Serial Number'
查看系统序列号:dmidecode -s system-serial-number
查看内存信息:dmidecode -t memory
查看OEM信息:dmidecode -t 11

不带选项执行dmidecode命令通常会输出所有的硬件信息。dmidecode命令有个很有用的选项-t,可以按指定类型输出相关信息