diff --git a/docs/运维/Shell/系统状态检测.md b/docs/运维/Shell/系统状态检测.md new file mode 100644 index 00000000..42c399c5 --- /dev/null +++ b/docs/运维/Shell/系统状态检测.md @@ -0,0 +1,181 @@ +--- +id: 系统状态检测 +title: 系统状态检测 +sidebar_position: 3 +data: 2022年2月24日 +--- + +## ifconfig + +ifconfig 命令用于获取网卡配置与网络状态等信息,英文全称为“interface config”,语法格式: + +```shell +ifconfig [参数] [网络设备] +``` + +使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量。 + +## uname + +uname 命令用于查看系统内核版本与系统架构等信息,英文全称为“unix name”,语法格式: + +```shell +uname [-a] +``` + +示例: + +```shell +uname -a +# Linux linuxprobe.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux + +# 查看系统版本 +cat /etc/redhat-release +# Red Hat Enterprise Linux release 8.0 (Ootpa) +``` + +## uptime + +uptime 命令用于查看系统的负载信息,它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况,负载值越低越好。输入该命令后按回车键执行即可。 + +示例: + +```shell +uptime +# 22:49:55 up 10 min, 1 users, load average: 0.01, 0.19, 0.18 +``` + +## free + +free命令用于显示当前系统中内存的使用量信息,语法格式: + +```shell +free [-h] +``` + +执行 free -h 命令后的输出信息 + +| | 内存总量 | 已用量 | 空闲量 | 进程共享的内存量 | 磁盘缓存的内存量 | 缓存的内存量 | 可用量 | +| ----- | -------- | ------ | ------ | ---------------- | ---------------- | ------------ | --------- | +| | total | used | free | shared | buffers | buff/cache | available | +| Mem: | 1.9Gi | 1.4Gi | 99Mi | 20Mi | 450Mi | 348Mi | | +| Swap: | 2.0Gi | 80Mi | 1.9Gi | | | | | + +## who + +who 命令用于查看当前登入主机的用户终端信息,执行who命令的结果: + +| 登陆的用户名 | 终端设备 | 登陆到系统的时间 | +| ------------ | -------- | ----------------------- | +| root | tty2 | 2020-07-24 06:26 (tty2) | + +## last + +last 命令用于调取主机的被访记录。 + +```shell +last +# root pts/1 192.168.10.1 Tue May 18 10:30 - 11:03 (00:32) +# root tty2 tty2 Fri Jul 24 06:26 gone - no logout +# reboot system boot 4.18.0-80.el8.x8 Fri Jul 24 05:59 still running +# root tty2 tty2 Tue Jul 21 05:19 - down (00:00) +# reboot system boot 4.18.0-80.el8.x8 Tue Jul 21 05:16 - 05:19 (00:02) + +# wtmp begins Tue Jul 21 05:16:47 2020 +``` + +## ping + +ping 命令用于测试主机之间的网络连通性,语法格式: + +```shell +ping [参数] 主机地址 +``` + +ping 命令中的参数以及作用 + +| 参数 | 作用 | +| ---- | ------------------ | +| -c | 总共发送次数 | +| -l | 指定网卡名称 | +| -i | 每次间隔时间(秒) | +| -W | 最长等待时间(秒) | + +## tracepath + +tracepath 命令用于显示数据包到达目的主机时途中经过的所有路由信息,语法格式: + +```shell +tracepath [参数] 域名 +``` + +示例: + +```shell +tracepath www.7wate.com +``` + +## netstat + +netstat命令用于显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为“network status”,语法格式为: + +```shell +netstat [参数] +``` + +netstat 命令中的参数以及作用 + +| 参数 | 作用 | +| ---- | ------------------------ | +| -a | 显示所有连接中的Socket | +| -p | 显示正在使用的Socket信息 | +| -t | 显示TCP协议的连接状态 | +| -u | 显示UDP协议的连接状态 | +| -n | 使用IP地址,不使用域名 | +| -l | 仅列出正在监听的服务状态 | +| -i | 显示网卡列表信息 | +| -r | 显示路由表信息 | + +示例: + +```shell +# 显示详细的网络状况 +netstat -a + +# 显示网卡列表 +netstat -i +``` + +## history + +history命令用于显示执行过的最近 1000 条命令记录,语法格式为: + +``` +history [-c] +``` + +示例: + +``` +history + +# 1 ifconfig +# 2 uname -a +# 3 cat /etc/redhat-release +# 4 uptime +# 5 free -h +# 6 who +# 7 last + +!7 +# 执行第七条命令 + +history -c +# 清空当前用户在本机上执行的 Linux 命令历史记录信息 +``` + +## sosreport + +sosreport 命令用于收集系统配置及架构信息并输出诊断文档,输入该命令后按回车键执行即可。 + +当Linux系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息,以便让技术支持人员能够远程解决一些小问题,抑或让他们能提前了解某些复杂问题。 \ No newline at end of file