CPU核数相关
CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数
1
2
3
4
5
6
7
8
9
10
11
12
| #查看物理核数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
2
# 查看CPU信息(型号),2代表逻辑核数
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
2 Intel(R) Core(TM) i9-10900 CPU @ 2.80GHz号
#查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 1
#查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
2
|
获取主机IP相关
命令hostname
1
2
3
| [root@base ~]# hostname -i
fe80::6522:76a1:e6d6:a8e9%ens33 192.168.19.134
//ifconfig -a
|
命令ifconfig
1
| ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
|
命令解析
- ifconfig -a 和window下执行此命令一样道理,返回本机所有ip信息
- grep inet 截取包含ip的行
- grep -v 127.0.0.1 去掉本地指向的那行
- grep -v inet6 去掉包含inet6的行
- awk { print $2} $2 表示默认以空格分割的第二组 同理 $1表示第一组
- tr -d “addr: 删除”addr:”这个字符串
多网卡情况
倘若有多个网卡,可能会出现多个不同网段的IP,这个时候如果还是执行上述命令就会返回多个IP,如下:
假设某个机器有192...8和10...*网段的IP,现在要实现不同网段的IP地址打印不同的输出,shell脚本如下
1
2
3
| #!/bin/sh
ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
echo $ip
|
使用ipaddr
1
| ip addr | ``awk` `'/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'
|
网卡相关
1
2
3
4
| #查看网卡信息
[root@base ~]# dmesg | grep -i eth
[ 2.335832] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:50:51:3b
[ 2.335837] e1000 0000:02:01.0 eth0: Intel(R) PRO/1000 Network Connection
|