Linux命令系列-常见查看命令
- 进程管理
- 内存管理
- 磁盘空间管理
- 网络管理
- 主机系统
摘要:本文将对linux系统上常见的查看系统各种资源的命令进行介绍,包括du,df,netstat等命令。所有这些命令都有相关实验截图,实验平台为ubuntu 20.04。
关键词:Linux,ubuntu20.04,命令
进程管理
- ps命令
ps命令是 process status的缩写,顾名思义,就是用来查看进程状态信息的命令。不带任何选项执行ps命令,得到的是当前终端进程的信息,如下:
一般使用最多的是ps -aux
命令, -a选项标识所有终端所有用户,-u标识以对用户友好的方式展示,-x展示没有运行终端的进程,输入一般如下:
输出的每一行是一个进程,从左往右依次标识进程所属的用户、进程id、占用cpu的比例,占用内存的比例,虚拟内存大小,实际内存大小,终端类型,进程状态、起始时间、占用的cpu时间和启动进程的命令。
使用-p选项可以展示特定进程id的那个进程信息,使用-u选项可以筛选出某个用户的进程。
如下命令可以将所有进程按照cpu占用时间排序列出来,如下:
- top命令
top命令可以实时地展示系统所有进程的信息,按q退出。命令的输出如下图,分为两个部分,顶部信息展示系统的总体信息,包括系统的运行时间、用户数、负载(三个值分别表示过去1分钟,过去五分钟,过去十五分钟的平均负载,负载表示单位时间内处于运行态或者就绪态的进程数量,负载值如果接近cpu核心数说明系统当前基本上处于满负载状态中)、进程数(包括运行中、睡眠中、停止中、僵尸等状态的进程数量)、cpu占用(us表示用户空间进程的占用,sy表示系统进程的占用、ni表示通过改变nice值调整优先级的进程的占用、id表示空闲cpu的百分比、wa表示等待输入输出占用的百分比)、内存空间和交换空间。底层部分就是各个进程的详细信息,其中PR表示进程的优先级,PR在linux系统上的取值范围是0-139,值越小优先级越高,NI表示nice值,表示进程的友好度,取值范围是-20~19,进程的NI值回影响进程的优先级,VIRT表示虚拟内存使用,RES表示物理内存使用、SHR表示共享内存使用。
注意top相当于是打开了一个实时交互的数据大盘,所以输入一些指令可以进行交互,比如按下P或者M可以使其按照cpu利用率或者内存利用率排序,按1可以显示各个cpu的一个情况,如下图
按k则是可以选择杀死一个进程,按r则是可以重新定义进程的优先级。 - pstree命令
顾名思义,就是以数型结构来展示相关进程的父子关系,如下图
内存管理
- free命令
free命令列出当前系统的内存使用情况,如下图,其中buff/cache表示的是被内核用作缓冲区的空间大小(page cache之类的)。
以上展示的数据单位是字节,看起来不是太友好,可以通过-g,-m,-h等选项使信息展示地更加友好,如下图
磁盘空间管理
- df命令
df命令列出各个文件系统的磁盘空间使用情况,如下图,从左往右各个指标分别是文件系统的名称、1KB块的数量、已使用、可用、使用的比例和挂载的目录。
同样可以使用-h,-k,-m来更友好地展示信息,如下图
有时会出现df展示的还有很多磁盘空间,但是创建文件失败的情况,这种有可能是系统中的小文件数量很多,导致inode数量不够了,使用-i可以用来查看inode的使用情况,如下图
- du命令
du命令是disk usage的缩写,同样也是用来查看磁盘空间使用情况的,但是相比于df命令,du侧重于文件或者目录级别的磁盘使用情况。不带任何选项的du命令就是列出当前目录下所有文件或者目录的占用磁盘空间情况。
而du -ah ~
可以展示~目录下所有文件的占用磁盘空间信息,且以较为友好的形式展示。
网络管理
- ifconfig命令
ifconfig用来查看或者修改网络接口(网卡)的命令,不带任何选项会展示所有网络接口的信息,包括ip地址、子网掩码、之子网的广播地址,RX表示接受到的数据包的总字节数,包括错误数据包、因为缓冲区满而丢弃的数据包等数据包的个数。
- ip命令
ip命令是linux系统上ifconfig命令的现代化替代版本,可以查看或者修改网络接口、路由表和网络隧道等。以路由表为例,如下
以解释第四行为例,表示的就是所有访问192.168.247.0/24子网的都经过网络接口ens33转发出去,而proto表示的这个路由规则的来源。
3. netstat命令
netstat命令列出当前系统的网络连接的状态信息,选项-a表示显示所有的网络连接和端口信息,-n以数字形式展示地址和端口号,-t或者-u分别过滤出tcp或者udp协议的网络连接信息。
从左往右分别表示协议、接受队列、发送队列(注意,两个队列的含义在套接字处于不同状态时含义不一样,如果时listen监听状态,则分别表示全连接队列的长度和最大长度,如果时建立状态,则分别表示还没有被上层协议读取的字节数以及远端主机未确认的字节数)、本地ip地址加端口,远端主机ip地址加端口和套接字状态。
主机系统
1.uname命令
显示系统相关的信息,命令uname
显示如下,信息包括内核名称、节点名称、内核版本、机器类型(硬件架构)、操作系统版本等。