这里讲解一下linux内存、cpu、进程、端口、硬盘管理命令操作,更多linux常用命令见:一些经常使用的linux命令
top - 10:11:23 up 12:10, 2 users, load average: 0.00, 0.02, 0.05
依次对应:系统当前时间 10:11:23up 系统到目前为止 i 运行的时间 12:10当前登陆系统的用户数量 2个用户登录load average 后面的三个数字分别表示距离现在 一分钟,五分钟,十五分钟的 平均负载 情况,一般情况,当在十五分钟时的负载大于5了,说明负载就比较严重了
Tasks: 100 total, 2 running, 98 sleeping, 0 stopped, 0 zombie
依次对应:
tasks 表示任务(进程)
100 total 则表示现在有100个进程,其中处于运行中的有2个,98个在休眠(挂起),stopped状态即停止的进程数为 0,zombie 状态即僵尸的进程数为0个
%Cpu(s): 8.2 us, 0.4 sy, 0.0 ni, 91.3 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
程序一般只看空闲就可以了:cpu 空闲率为 91.3%
依次对应:us: user用户空间占用 cpu 的百分比sy: system内核空间占用 cpu 的百分比ni: niced改变过优先级的进程占用 cpu 的百分比id: 空闲cpu 百分比wa: IO wait IO 等待占用 cpu 的百分比hi: Hardware IRQ 硬中断占用 cpu 的百分比si: software软中断占用 cpu 的百分比st: 被 hypervisor 偷去的时间
KiB Mem : 2897496 total, 1995628 free, 191852 used, 710016 buff/cache
依次对应:总内存:2.76g空闲:1995628/1024/1024=1.9g已经使用: 191852/1024/1024=0.18g缓存区内存: 710016/1024/1024=0.67g缓冲区是从主内存中特地预留出的内存,用来存放特定的一些信息,例如从磁盘中取得的文件表,程序正在读取的内容等等
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
依次对应:PID: 进程 idUSER:进程所有者PR:进程优先级NI: nice 值,负值表示高优先级,正值表示低优先级VIRT:进程使用的虚拟内存总量,单位 kb , VIRT=SWAP+RESRES:进程使用的、未被换出的物理内存大小,单位 kb , RES=CODE+DATASHR:共享内存大小,单位 kbS : 进程状态, D= 不可中断的睡眠状态 R= 运行 S= 睡眠 T= 跟踪 / 停止 Z= 僵尸进程%CPU: 上次更新到现在的 CPU 时间占用百分比%MEM: 进程使用的物理内存百分比TIME+ :进程使用的 CPU 时间总计,单位 1/100 秒COMMAND:进程名称(命令名 / 命令行)
uptime显示的实际上就是top命令第一行的内容:
10:11:23 up 12:10, 2 users, load average: 0.00, 0.02, 0.05
依次对应:系统当前时间 10:11:23up 系统到目前为止 i 运行的时间 12:10当前登陆系统的用户数量 2个用户登录load average 后面的三个数字分别表示距离现在 一分钟,五分钟,十五分钟的 平均负载 情况,一般情况,当在十五分钟时的负载大于5了,说明负载就比较严重了,当大于10.说明负载非常严重了,一般小于5,说明负载合适,运行效果好
显示当前正在系统中的所有用户名字,使用终端设备号,注册时间(登录ip)
[root@localhost]# who
root device1 2023-10-13
root devoce2 2023-10-13(192.168.1.123)
显示出当前终端上使用的用户
[root@localhost]# whoai
root
last 作用是显示近期用户或终端的登录情况,可以查看这个操作系统有哪些用户在哪里登录过,可以查看用户是否被登录攻击
[root@localhost]# last
root device1 192.168.1.123 Mon Nav 3 13:11 - 13:56 (00:45)
#安装pstree
#搜索pstree,如果没有就安装
[root@localhost]# yum search pstree
[root@localhost]# yum install pstree
#查看进程树以及子进程
[root@localhost]# pstree
#显示所有信息
[root@localhost]# pstree -ap
#搜索某个进程
[root@localhost]# pstree | grep httpd
[root@localhost]# pstree -ap | grep httpd
#关闭某个进程,可以使用systemctl stop xxx
ps -au
ps -au | grep httpd
ps -aux
ps 中 aux 的含义 :显示现行终端机下的所有程序,包括其他用户的程序(a )以用户为主的格式来显示程序状况(x )显示所有程序,不以终端机来区分(u )
一种方法就是命令systemctl stop xxx,停止进程,另外就是使用命令行pkill
#停止进程
#pkill 进程的名字
[root@localhost]# pkill httpd
#杀死进程
#kill 进程号
[root@localhost]# kill 2245
#强制杀死进程kill -9 进程号
[root@localhost]# kill -9 1234
kill:
执行 kill 命令,系统会发送一个 SIGTERM 信号给对应的程序,当程序接收到该 sigterm信号后,将会发生以下事情:
程序立刻停止当程序释放相应资源后再停止程序可能仍然继续运行大部分程序接收到 SIGTERM 信号后,会 先释放 自己的资源,然后 再停止 。但是也有程序可能接收信号后, 做一些其他的事情 (如果程序正在等待 IO,可能就不会立马做出响应),也就是说, SIGTERM 多半是会被阻塞 的kill -9:kill -9 命令,系统给对应程序发送的信号是 SIGKILL ,即 exit, exit 信号 不会被系统阻塞 ,所以 kill -9能顺利杀掉进程
#查看httpd这个进程的端口情况
netstat -tunpl |grep httpd
-t 或--tcp 显示 TCP 传输协议的连线状况
-u 或 --udp 显示 UDP 传输协议的连线状况-n 或 --numeric 直接使用 IP 地址,而不通过域名服务器-p 或 --programs 显示正在使用 Socket 的程序识别码和程序名称-l 或 --listening 显示监控中的服务器的 Socket
df 命令作用是列出文件系统的整体磁盘空间使用情况。可以用来查看磁盘已被使用多少空间和还剩余多少空间
df
df -h 以人们易读的方式显示,总共多少 g 用了多少 g
df /home 查看该文件夹所在磁盘的使用情况