前言
为了能够快速的了解linux系统的状态,更好的管理我们的系统,我们需要掌握和系统相关的一些命令。下面从三个方面了解下Linux的系统管理:系统状态查看 系统状态统计 系统服务管理,想要学习实战的小伙伴可以选择一款云服务器来部署系统,这里的话博主推荐3A云服务器,性价比还是很高的。
状态查看
- lsof(list open files):列举系统中已经被打开的文件,可以用来查找对应的进程信息。常用命令如下:
- lsof (显示所有打开文件)
- lsof -i + 协议、主机 (根据主机、协议…查找对应进程信息)
- lsof -i:+端口号(根据主机端口…查找对应进程信息)
[root@zz ~]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 1903 jenkins 120u IPv6 27134 0t0 TCP *:webcache (LISTEN)
- uptime(显示系统运行时间及负载): 系统开机到现在的运行时间,当前用户在线数。
注:cat /etc/passwd这个用来查看所有用户 uptime可以查在线多少个用户 users显示已登录用户列表
[root@zz ~]# uptime
08:55:51 up 41 days, 12:00, 2 users, load average: 1.18, 1.13, 1.14
- free:查看系统内存信息,这个命令日常使用较多,用来判断系统当前内存是否占用过高
[root@zz ~]# free -h
total used free shared buff/cache available
Mem: 3.7G 1.6G 139M 184M 1.9G 1.6G
Swap: 3.9G 8.5M 3.9G
- iftop: 动态显示网络接口流量,需要下载压缩包手动安装
- dmidecode: 查询系统硬件信息,可以查看主机的以下信息:BIOS、处理器、内存、
[root@VM-12-5-centos ~]# dmidecode
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
***
BIOS Information **
Handle 0x0100, DMI type 1, 27 bytes
System Information **
Handle 0x0300, DMI type 3, 21 bytes
Chassis Information **
- ispci: 显示所有PCI设备(PCI设备就是指插在这些PCI插槽上的设备)
[root@zz ~]# lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Roo
- ipcs: 显示进程间通信设施状态,主要显示以下信息消息列表、共享内存和信号量等信息。
- ipc是指Linux中进程间通信
[root@zz ~]# ipcs
***
# 状态统计
- vmstat:虚拟内存统计,系统的整体情况统计,无法统计到单个的
[root@zz ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 8712 141852 5336 2032348 0 0 0 16 2 4 1 0 98 1 0
- mpstat:CPU信息统计,实时的系统监控工具。mpstat命令会输出CPU的一些统计信息,与vmstat查看有所区别,他能够查看多核心CPU中每个计算核心的统计数据,而类似命令vmstat只能查看系统整体的CPU情况。
- 使用yum install mpstat会报错No package mpstat available.应为mpstat属于sysstat中的
[root@zz ~]# mpstat
Linux 3.10.0-1160.62.1.el7.x86_64 (zz) 08/08/2022 _x86_64_ (2 CPU)
09:16:31 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
09:16:31 AM all 0.69 0.00 0.48 0.58 0.00 0.01 0.00 0.00 0.00 98.24
- iostat: I/O信息统计
[root@zz ~]# iostat
Linux 3.10.0-1160.62.1.el7.x86_64 (zz) 08/08/2022 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.69 0.00 0.49 0.58 0.00 98.24
- sar
服务管理
- chkconfig:chkconfig命令是Redhat系列的Linux系统中的系统服务管理工具,它可以用于查询和更新不同的运行等级下系统服务的启动状态。
[root@zz ~]# chkconfig
Note: This output shows SysV services only and does not include native
***
- ntsysv: 管理开机服务,控制台输入ntsysv进入交互界面进行设置。
- setup: 系统管理工具,这个命令基本能满足我们日常的系统管理需求,集成了用户认证管理、防火墙管理、网络管理和系统服务管理。了解下常用的
- setup => 进入交互配置页面 => 用户认证管理 => 网络配置
- ethtool:命令用于查询或设置网卡参数。和ifconfig结合使用
- ethtool + 网卡名
[root@zz ~]# ethtool enp0s25
Settings for enp0s25:
Supported ports: [ TP ]
...
复制代码
- mii-tool命令用于查看、管理网络接口,默认情况下网卡的状态是自动协商的,但是有时也会出现不正常的情况,可以使用mii-tool进行调整。和ifconfig结合使用
[root@zz ~]# mii-tool enp0s25
enp0s25: negotiated 100baseTx-FD flow-control, link ok
- ipcrm:ipcrm命令用于移除一个消息对象、共享内存段或一个信号集,但它同时也会将与ipc对象相关的数据一起移除。只有超级管理员,或者ipc对象的创建者才能使用这。需要与ipcs结合使用
[root@zz ~]# ipcs -a
**
------ Semaphore Arrays --------
key semid owner perms nsems
[root@zz ~]# ipcrm -s 0
ipcrm: invalid id (0)
-
rpm:rpm命令的全称是Red Hat Package Manager(Red Hat包管理器),几乎所有的Linux发行版本都使用了这种形式的命令管理、安装、更新和卸载软件。
-
yum:yum*(Yellow dog Updater Modified)包管理工具,最常用的管理命令之一,主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。
- yum install -y + ***
[root@VM-12-5-centos ~]# yum install ltrace