1
0
wiki/docs/运维/Shell/系统状态检测.md
2022-02-24 20:15:54 +08:00

181 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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系统出现故障需要联系技术支持人员时大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息以便让技术支持人员能够远程解决一些小问题抑或让他们能提前了解某些复杂问题。