许多的软件产品对硬件及操作系统等环境是有具体要求的,那么这时候如何快速知晓目标机器的目标资源信息是较为频繁的操作。

命令

  • 全部硬件及系统信息

    • dmidecode (软硬件全部信息)
    • hostnamectl (系统信息: OS发行版、CPU架构、虚拟化、主机名、Linux内核版本)
    • uname -a (系统信息: CPU架构、主机名、Linux内核版本等)
  • BIOS
    • dmidecode -t bios
  • CPU(指令集/架构/核数等)
    • [arch] / [uname -p] / [uname -m] / [uname -i] / [lscpu | awk 'NR1{print}'] / [hostnamectl | awk 'NR12{print}'] # 查看CPU架构
    • gcc -march=native -Q --help=target|grep march # 查看具体支持的CPU指令集
    • [lscpu] # 查看CPU硬件详情信息(CPU架构、CPU模型、处理器个数/核数、模型名称/厂家、L1/L2/L3的Cache、Hypervisor vendor、cpu family[CPU产品系列代号]等)
    • cat /proc/cpuinfo # 查看CPU的各处理器详情
    • getconf LONG_BIT 查看当前运行模式(运行位数)
  • 内存/swap区
    • cat /proc/meminfo
    • [cat /proc/swaps] 查看哪些swap区被使用
    • [free -h] 单位:KB / [free -m] 单位:MB / [free -g] 单位: GB
  • 硬盘/分区/文件系统(挂载点)
    • mount | column -t
    • fdisk -l
    • lsblk
    • df -hT
    • [cat /proc/mounts] 查看已加载的文件系统
  • PCI设备/USB设备
    • lspci
    • lsusb
  • 网络接口(网卡)/MAC/IP等
    • lspci | grep -i 'eth'
    • ifconfig -a
      • cat /sys/class/net/ens192/address # 查看MAC地址
    • ip addr
    • ip link show
    • ethtool eth0
    • [cat /proc/net/dev] 显示网络适配器(网卡)及统计
  • 主机名(主机名!= 域名)
    • [uname -n] / [hostname] # 查看服务器的主机名

      • hostnamectl set-hostname xxxx 重置hostname
  • Linux内核信息
    • [uname -r/--kernel-release] / [cat /proc/version] / [hostnamectl | awk 'NR==11{print}'] # 查看Linux内核版本信息
  • OS/Linux发行版信息
    • echo $OSTYPE # 查看操作系统类型(darwin:Windows/cygwin:Windows/msys:Windows/win32:Windows/freebsd:freebsd/linux-gnu:Linux)
    • cat /etc/os-release # 查看操作系统详情(发行版类型、NAME/VERSION/ID/ID_LIKE/PRETTY_NAME/ANSI_COLOR/CPE_NAME/HOME_URL/BUG_REPORT_URL/...)
    • [cat /etc/system-release] / [cat /etc/redhat-release] / [cat /etc/centos-release] # 查看操作发行版类型及版本信息
  • 其他
    • [cat /proc/interrupts] 显示中断

[0] dmidecode -q/-t/-s

简介

(Desktop Management Interface,帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行;可输出的Linux服务器硬件信息包括 BIOS、系统、主板、处理器、内存、缓存等)
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

dmidecode -t bios

查看bios信息

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

Dmidecode命令格式 : dmidecode -t typecode (dmidecode -t 0 等效于 dmidecode -t BIOS)

dmidecode –q : 查看所有硬件信息(CPU、硬盘、网卡、磁盘等硬件)

[linux-shell]# dmidecode -t bios
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present. Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: SeaBIOS
Version: rel-1.10.2-0-g5f4c7b1-20181220_000000-szxrtosci10000
Release Date: 04/01/2014
Address: 0xE8000
Runtime Size: 96 kB
ROM Size: 64 kB
Characteristics:
BIOS characteristics not supported
Targeted content distribution is supported
BIOS Revision: 0.0

dmidecode -t system

[linux-shell]# dmidecode -t system
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present. Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: OpenStack Foundation
Product Name: OpenStack Nova
Version: 13.2.2-409
Serial Number: 125c53ca-477d-43cc-ac48-512e86f01b3c
UUID: 125C53CA-477D-43CC-AC48-512E86F01B3C
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Virtual Machine Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected

[1] lscpu

display information about the CPU architecture

Architecture:          x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
座: 1
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 58
型号名称: Intel(R) Core(TM) i3-3240T CPU @ 2.90GHz
步进: 9
CPU MHz: 1599.743
CPU max MHz: 2900.0000
CPU min MHz: 1600.0000
BogoMIPS: 5786.80
虚拟化: VT-x
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 3072K
NUMA 节点0 CPU: 0-3

[2] cat /proc/cpuinfo

查看CPU详细信息: cat /proc/cpuinfo

查看cpu运行模式: getconf LONG_BIT

processor	: 0
... processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i3-3240T CPU @ 2.90GHz
stepping : 9
microcode : 0x21
cpu MHz : 1627.709
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx f16c lahf_lm epb ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm arat pln pts md_clear spec_ctrl intel_stibp flush_l1d
bogomips : 5786.80
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management: processor : 2
... processor : 3
...

[3] free -m

m: 单位为MB

              total        used        free      shared  buff/cache   available
Mem: 11903 3996 2650 265 5256 7329
Swap: 8191 0 8191

[4] cat /proc/meminfo

查看内存详细使用

MemTotal:       12188892 kB
MemFree: 2714864 kB
MemAvailable: 7505604 kB
Buffers: 1088 kB
Cached: 5190608 kB
SwapCached: 0 kB
Active: 5281500 kB
Inactive: 3602352 kB
Active(anon): 3693968 kB
Inactive(anon): 270024 kB
Active(file): 1587532 kB
Inactive(file): 3332328 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 8388604 kB
SwapFree: 8388604 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 3692156 kB
Mapped: 369268 kB
Shmem: 271836 kB
Slab: 276088 kB
SReclaimable: 190960 kB
SUnreclaim: 85128 kB
KernelStack: 18512 kB
PageTables: 84760 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 14483048 kB
Committed_AS: 11778012 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 368152 kB
VmallocChunk: 34358947836 kB
Percpu: 1536 kB
HardwareCorrupted: 0 kB
AnonHugePages: 2482176 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 113516 kB
DirectMap2M: 12355584 kB

[5] lsblk

查看硬盘和分区分布

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 58G 0 part
├─cl-root 253:0 0 50G 0 lvm /
└─cl-swap 253:1 0 8G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom

[6] fdisk -l

查看硬盘和分区的详细信息

磁盘 /dev/sda:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x00031a77 设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 122677247 60825600 8e Linux LVM 磁盘 /dev/mapper/cl-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节 磁盘 /dev/mapper/cl-swap:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节

[7] mount | column -t

查看挂载点(OS目录)与分区的关联关系的状态

sysfs                on  /sys                             type  sysfs            (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6077156k,nr_inodes=1519289,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=24,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11076)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
tmpfs on /tmp type tmpfs (rw,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=1218892k,mode=700,uid=1000,gid=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
tmpfs on /run/user/1001 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=1218892k,mode=700,uid=1001,gid=1001)
gvfsd-fuse on /run/user/1001/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1001,group_id=1001)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=1218892k,mode=700)

[8] df -hT

查看硬盘使用情况

文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs tmpfs 5.9G 31M 5.8G 1% /dev/shm
tmpfs tmpfs 5.9G 19M 5.8G 1% /run
tmpfs tmpfs 5.9G 0 5.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 50G 9.9G 41G 20% /
tmpfs tmpfs 5.9G 684K 5.9G 1% /tmp
/dev/sda1 xfs 494M 209M 286M 43% /boot
tmpfs tmpfs 1.2G 32K 1.2G 1% /run/user/1000
tmpfs tmpfs 1.2G 64K 1.2G 1% /run/user/1001
tmpfs tmpfs 1.2G 0 1.2G 0% /run/user/0

[9] lspci

查看pci信息,即 主板所有硬件槽信息

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation H61 Express Chipset LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
04:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188EE Wireless Network Adapter (rev 01)

[10] lspci | grep -i 'eth'

查看网卡硬件信息

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)

[11] ifconfig -a

查看系统的所有网络接口 --方式1

enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 10.0.11.143 netmask 255.255.255.0 broadcast 10.0.11.255
inet6 fe80::225:abff:fe7b:350f prefixlen 64 scopeid 0x20<link>
ether 00:25:ab:7b:35:0f txqueuelen 1000 (Ethernet)
RX packets 1956257 bytes 758582738 (723.4 MiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 577940 bytes 61943949 (59.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 378776 bytes 35602917 (33.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 378776 bytes 35602917 (33.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp4s0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 0e:f1:0d:bc:25:10 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[12] cat /sys/class/net/ens192/address

查看MAC地址

# ifconfig -a
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.100.102.149 netmask 255.255.255.0 broadcast 10.100.102.255
inet6 fe80::250:56ff:fe85:8b95 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:85:8b:95 txqueuelen 1000 (Ethernet)
RX packets 138836 bytes 9388486 (8.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4060 bytes 1595871 (1.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 487442 bytes 177800691 (169.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 487442 bytes 177800691 (169.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 # cat /sys/class/net/ens192/address
00:50:56:85:8b:95


其中 HWaddr字段就是MAC地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

[13] cat /proc/net/arp

查看连接到本机的远端IP的MAC地址

不能看到本机的MAC,只能看到远程连接,服务端用的比较多。

[root@sdc04 wydaas]# cat /proc/net/arp
IP address HW type Flags HW address Mask Device
10.xx.102.186 0x1 0x2 f4:79:60:c5:a4:3d * ens192
10.xx.102.23 0x1 0x2 00:50:56:b7:41:ff * ens192
10.xx.102.212 0x1 0x2 00:0c:29:2b:31:3d * ens192
10.xx.102.152 0x1 0x2 00:50:56:85:95:a1 * ens192
10.xx.102.147 0x1 0x2 00:50:56:85:e8:9c * ens192
10.xx.102.154 0x1 0x2 00:50:56:85:f6:e6 * ens192
10.xx.102.254 0x1 0x2 00:74:9c:96:43:43 * ens192
10.xx.102.151 0x1 0x2 00:50:56:85:b6:3c * ens192
10.xx.102.32 0x1 0x2 00:50:56:b7:e3:3e * ens192
10.xx.102.144 0x1 0x2 00:50:56:85:23:ba * ens192
10.xx.102.10 0x1 0x2 00:50:56:8f:24:39 * ens192
10.xx.102.24 0x1 0x2 00:50:56:b7:08:e1 * ens192
10.xx.102.146 0x1 0x2 00:50:56:85:00:a3 * ens192
10.xx.102.177 0x1 0x2 00:50:56:85:30:7b * ens192
10.xx.102.148 0x1 0x2 00:50:56:85:c5:f4 * ens192
10.xx.102.150 0x1 0x2 00:50:56:85:c9:9d * ens192

[14] ip link show

查看系统的所有网络接口 --方式2

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:25:ab:7b:35:0f brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 0e:f1:0d:bc:25:10 brd ff:ff:ff:ff:ff:ff

[15] ip addr

查看系统的所有网络接口 --方式3

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:25:ab:7b:35:0f brd ff:ff:ff:ff:ff:ff
inet 10.0.11.143/24 brd 10.0.11.255 scope global noprefixroute enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::225:abff:fe7b:350f/64 scope link
valid_lft forever preferred_lft forever
3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 0e:f1:0d:bc:25:10 brd ff:ff:ff:ff:ff:ff

[16] ethtool eth0

查看某个网络接口的详细信息,例如:eth0的详细参数和指标

Link detected: yes # 表示有网线连接,和路由是通的

Duplex: Full # 全双工

Settings for enp2s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes

[17:shell script]

case1: 检测自动化脚本所兼容的操作系统类型

work_dir=$(cd $(dirname $0);pwd)

menu(){
cat <<END
=================================================
1.Install at Debian(Ubuntu) 10(buster)
2.Install at Redhat(CentOS) 7
3.Exit
=================================================
END
} checkOs(){
echo "Welcome to install XXX-Software ..."
echo "This script support CentOS/RedHat/Debian/Ubuntu"
echo "Please execute script at path $work_dir " #To be compatible with MacOS and Linux
if [[ "$OSTYPE" == "darwin"* ]]; then
# Mac OSX
echo " install not support Mac OSX operating system"
exit 1
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
# linux
echo "linux"
elif [[ "$OSTYPE" == "cygwin" ]]; then
# POSIX compatibility layer and Linux environment emulation for Windows
echo "this install scripts not support Windows operating system"
exit 1
elif [[ "$OSTYPE" == "msys" ]]; then
# Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
echo "this install scripts not support Windows operating system"
exit 1
elif [[ "$OSTYPE" == "win32" ]]; then
echo "this install scripts not support Windows operating system"
exit 1
elif [[ "$OSTYPE" == "freebsd"* ]]; then
# ...
echo "freebsd"
else
# Unknown.
echo "Operating system unknown, please tell us(submit issue) for better service"
exit 1
fi # 提示信息
menu read -p "Please input number(1|2|3):" num case $num in
1)
[[ ! -f /etc/debian_version ]] && echo 'Operating system is not Debian or Ubuntu' && exit 1
[[ $(grep 'ID=debian' /etc/os-release 2>/dev/null) == 'ID=debian' ]] && [[ $(grep VERSION_ID /etc/os-release 2>/dev/null) != 'VERSION_ID="10"' ]] && echo 'System version not support. Debian 10' && exit 1
[[ $(grep 'ID=ubuntu' /etc/os-release 2>/dev/null) == 'ID=ubuntu' ]] && [[ ! $(grep VERSION_ID /etc/os-release 2>/dev/null) =~ 'VERSION_ID="18' ]] && echo 'System version not support. Ubuntu 18' && exit 1
echo "You chose Debian(Ubuntu) 10(buster)"
;;
2)
[[ ! -f /etc/redhat-release ]] && echo 'Operating system is not Redhat or Centos' && exit 1
[[ $(grep VERSION_ID /etc/os-release 2>/dev/null) != 'VERSION_ID="7"' ]] && [[ -f /etc/redhat-release ]] && echo 'System version not support. Redhat 7' && exit 1
echo "You chose Redhat(Centos) 7"
;;
*)
echo $"Usage :bash $0"
exit 1
esac
}

case2: 一键获取服务器主要参数

(仅在CentOS上实测)

#【CPU】
CPU_ARCH_VAR=$(lscpu | grep -i Architecture | awk -F ' ' '{printf $2 "\n"}')
CPU_MODEL_VAR=$(lscpu | grep -i "Model name" | awk -F ':' '{printf $2 "\n"}' | sed 's/^[ \t]*//g')
CPU_IS_VIRTUAL_VAR=$(lscpu | grep -i "Hypervisor vendor" | awk -F ':' '{printf $2 "\n"}' | sed 's/^[ \t]*//g')
# echo "CPU { arch="$CPU_ARCH_VAR" / model="$CPU_MODEL_VAR" / isVirtualMechine="$CPU_IS_VIRTUAL_VAR" }" #【内存】
MEM_TOTAL_VAR=$(free -h | grep -i "Mem" | awk -F ' ' '{printf $2 "\n"}')
MEM_USED_VAR=$(free -h | grep -i "Mem" | awk -F ' ' '{printf $3 "\n"}')
MEM_AVAIL_VAR=$(free -h | grep -i "Mem" | awk -F ' ' '{printf $4 "\n"}')
# echo "MEM { total="$MEM_TOTAL_VAR" / used="$MEM_USED_VAR" / avail="$MEM_AVAIL_VAR" }" #【硬盘】
DISK_TOTAL_VAR=$(df -hl | grep /dev/mapper/vg | awk -F ' ' '{printf $2 "\n"}')
DISK_USED_VAR=$(df -hl | grep /dev/mapper/vg | awk -F ' ' '{printf $3 "\n"}')
DISK_USED_PERCENT_VAR=$(df -hl | grep /dev/mapper/vg | awk -F ' ' '{printf $5 "\n"}')
DISK_AVAIL_VAR=$(df -hl | grep /dev/mapper/vg | awk -F ' ' '{printf $4 "\n"}')
# echo "DISK { total="$DISK_TOTAL_VAR" / used="$DISK_USED_VAR"("$DISK_USED_PERCENT_VAR") / avail="$DISK_AVAIL_VAR" } "; #【操作系统】
OS_KERNEL_VERSION_VAR=$(cat /proc/version)
OS_CENTOS_VAR=$(cat /etc/redhat-release)
# echo "OS { Linux-Kernel="$OS_KERNEL_VERSION_VAR" / CentOS-Version="$OS_CENTOS_VAR" }"; #【MAC】
MACs_VAR=$(ifconfig | grep -i ether | awk -F ' ' '{printf $2 "\n"}')
# echo "MACs { macs="$MACs_VAR"} "; #【节点名(域名)/IP】
DNS_NODENAME_VAR=$(uname -n)
# 或 DNS_NODENAME_VAR=$(hostname)
DNS_IP_VAR="$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}')"
DNS_IP_VAR="$(ifconfig |grep inet|awk -F "[: ]+" '{print $3}'|head -n1)"
# echo "DNS { ip="${DNS_IP_VAR}" / nodename="$DNS_NODENAME_VAR" } ";
DATE_STR=`date "+%Y-%m-%d %H:%M:%S"`;

CPU="CPU { arch="$CPU_ARCH_VAR" / model="$CPU_MODEL_VAR" / isVirtualMechine="$CPU_IS_VIRTUAL_VAR" }"
MEM="MEM { total="$MEM_TOTAL_VAR" / used="$MEM_USED_VAR" / avail="$MEM_AVAIL_VAR" }"
DISK="DISK { total="$DISK_TOTAL_VAR" / used="$DISK_USED_VAR"("$DISK_USED_PERCENT_VAR") / avail="$DISK_AVAIL_VAR" } ";
OS="OS { Linux-Kernel="$OS_KERNEL_VERSION_VAR" / CentOS-Version="$OS_CENTOS_VAR" }";
MACs="MACs { macs="$MACs_VAR"} ";
DNS="DNS { ip="${DNS_IP_VAR}" / nodename="$DNS_NODENAME_VAR" } "; echo -e "SERVER BASE INFO
$CPU
$MEM
$DISK
$MACs
$DNS
(updated on $DATE_STR)"

Y 补充命令: lshw 【待续】

lshw(Hardware Lister)是另外一个可以查看硬件信息的工具,不仅如此,它还可以用来做一些硬件的benchmark。

这个工具其实就是用/proc里面读取一些文件来显示相关的信息,它用到了如下文件和目录(下的文件):

/proc/cpuinfo 显示CPU信息
/proc/bus/pci 显示pci信息
/proc/scsi 显示scsi信息
/proc/net/dev 显示网络设备信息
/proc/kcore 从内存映像读取相关信息
/proc/ide 显示IDE设备信息
/proc/devices
/proc/mounts
/proc/fstab
  • 安装
yum install -y lshw
  • 查看版本
[root@sdc234 ~]# lshw -version
B.02.18
  • 以html/xml/json格式输出

    -html :将设备信息以 html的格式输出

    -xml :将设备信息以 xml的格式输出

    -json :将设备信息以 json的格式输出
lshw -html > info.html

lshw -xml > info.xml

lshw -json > info.xml

X 参考文献

[Linux]查看硬件及操作系统信息的更多相关文章

  1. linux查看硬件、系统信息

    查看机器型号等 dmidecode 是一个读取电脑 DMI(桌面管理接口(Desktop Management Interface))表内容并且以人类可读的格式显示系统硬件信息的工具.这个表包含系统硬 ...

  2. LINUX查看硬件配置命令

    LINUX查看硬件配置命令   系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...

  3. Linux查看版本当前操作系统内核信息

    1. # uname -a (Linux查看版本当前操作系统内核信息) 输出 Linux xxx --generic #~-Ubuntu SMP Wed Jul :: UTC x86_64 x86_6 ...

  4. Linux查看硬件信息(北桥芯片组、南桥、PCI接口、CPU等)

    Linux查看硬件信息(北桥芯片组.南桥.PCI接口.CPU等) Linux查看硬件信息(北桥芯片组.南桥.PCI接口.CPU等) 查看MCH(北桥) 查看ICH(南桥) 查看CPU 查看pci接口设 ...

  5. C# 获取计算机的硬件、操作系统信息

    C# 获取计算机的硬件.操作系统信息   获得信息的命名空间是:System.Management 创建ManagementObjectSearcher对象获取相关信息 eg: using Syste ...

  6. linux查看硬件以及系统信息

    http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/ /proc目录的内容:   /proc/cpuinfo 关于处理器的信息,如类型.厂家.型号和性 ...

  7. linux查看硬件常用命令

          最近整理了平时工作中经常使用的命令,主要分为两大块,一块是查看硬件信息的命令,另一块是监控硬件运转情况的命令.这一篇只涉及查看硬件信息的命令,有关监控硬件运转的命令,我会在下一篇博客中给大 ...

  8. linux查看硬件信息及驱动设备相关整理

    查看声卡设备:cat /proc/asound/cards 查看USB设备:cat /proc/bus/usb/devices 常用命令整理如下:用硬件检测程序kuduz探测新硬件:service k ...

  9. Linux查看硬件信息,主板型号及内存硬件,驱动设备,查看设备,查看CPU。

    用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查 ...

  10. LINUX 查看硬件配置命令

      系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # ...

随机推荐

  1. 第12章 使用 Entity Framework Core 保存数据(ASP.NET Core in Action, 2nd Edition)

    本章包括(请点击这里阅读其他章节) 什么是实体框架核心以及为什么应该使用它 向 ASP.NET Core 应用程序添加实体框架核心 构建数据模型并使用它创建数据库 使用实体框架核心查询.创建和更新数据 ...

  2. angular请求头部加XSRF-TOKEN

    1.创建拦截器 import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, } from '@angular/common/http' ...

  3. java 与 JSON

    Java 与 JSON JSON 是不同程序之间传递信息的一种格式.本文描述了 JSON 在 Java 中的应用. 目前 Java 中比较主流的相关解析工具有谷歌提供的 Gson 和阿里提供的 Fas ...

  4. XDZX2022学生博客链接

    王桐林博客        https://www.cnblogs.com/xdzxtong/ 邢沐辰博客 https://www.cnblogs.com/xdzxmuchen/ 袁 博博客 https ...

  5. 许可协议 :GPL、BSD、MIT、Mozilla、Apache和LGPL

    原文摘自:https://blog.csdn.net/testcs_dn/article/details/38496107 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BS ...

  6. PS将多个图片合并成长图

    1.将所有图片拖到ps里面排好序.这里图层需要倒序,合成长图上面的图片要在图层的下面.图层倒序的方法:图层→排列→反向. 2.设置画布大小.假设18张图片,每个图片的高度是1448像素,则设置画布的高 ...

  7. cadence-ADE反相器仿真

    Cadence-ADE仿真 连接电路 鼠标移至schematic绘制区域,单击放置inv i键继续添加gnd, vdc(3.3V), vpulse(0-3.3V,Period 1us,Pulse wi ...

  8. CF1408

    CF1408 那个博客搭好遥遥无期. A: 直接做就行了,我没智力还写 \(dp\) . #include<bits/stdc++.h> using namespace std; #def ...

  9. Navicat Premium 12安装包下载及安装

    Navicat Premium 12安装包下载及安装 安装成功了 前提:这个好像是64位的,32位的电脑 我不知道行不行没有试过 1.发邮件17673114272@163.com获取资源后    解压 ...

  10. 1 关于win10原生系统下 OCRmyPDF安装使用

    win10原生系统下 OCRmyPDF安装使用长期以来一直在代替freepic2pdf的工具,因为在图片转化PDF时,如果没有勾选该软件 添加OCR层 选项,印象中事后无法挂OCR层上去.福昕风腾,A ...