文章目录

  • shell提示符
  • 检测程序
  • 探查进程
  • 实时监测进程
  • 检测磁盘空间
  • 挂载存储媒体
  • df命令
  • du命令
  • 处理数据文件
  • 排序数据
  • 搜索数据
  • 压缩数据
  • 归档数据


shell提示符

默认的bash shell提示符是美元符号($)

shell如何检查k8s deployment部署状态 shell检测进程_优先级

  • PS1:控制默认命令行提示符的格式
  • PS2:控制后续命令行提示符的格式
  • 上面新的PS1定义只在这个shell会话中有效,启动新的shell时,默认的shell提示符定义会重载

检测程序

探查进程

ps命令:默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程。Unix风格的ps命令参数:

参数

描述

-A

显示所有进程

-N

显示与指定参数不符合的所有进程

-a

显示除控制进程和无终端的进程外的所有进程

-d

显示除控制进程外的所有进程

-e

显示所有进程

-C cmdlist

显示包含在cmdlist列表中的进程

-G grplist

显示组ID在grplist列表中的进程

-U userlist

显示属主的用户ID在userlist列表中的进程

-g grplist

显示会话或组ID在grplist列表中的进程

-p pidlist

显示PID在pidlist列表中的进程

-s sesslist

显示会话ID在sesslist列表中的进程

-t ttylist

显示终端ID在ttylist列表中的进程

-u userlist

显示有效用户ID在userlist列表中的进程

-F

显示更多额外输出(相对-f参数而言)

-O format

显示默认的输出列以及format列表指定的特定列

-M

显示进程的安全信息

-c

显示进程的额外调度器信息

-f

显示完整格式的输出

-j

显示任务信息

-l

显示长列表

-o format

仅显示由format指定的列

-y

不要显示进程标记(process flag,表名进程状态的标记)

-Z

显示安全标签(security context)信息

-H

用层级格式来显示进程(树状,用来显示父进程)

-n namelist

定义了WCHAN列显示的值

-w

采用宽输出模式,不限宽度显示

-L

显示进程中的线程

-V

显示ps命令的版本号

shell如何检查k8s deployment部署状态 shell检测进程_命令行_02

  • UID:启动这些进程的用户
  • PID:进程的进程号(PID)
  • PPID:父进程的进程号(如果该进程是由另一个进程启动的)
  • C:进程生命周期中的CPU利用率
  • STIME:进程启动时的系统时间
  • TTY:进程启动时的终端设备
  • TIME:运行进程需要的累计CPU时间
  • CMD:启动的程序名称
  • F:内核分配给进程的系统标记
  • S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正在等待运行;Z代表进程已结束但是父进程已不存在;T代表停止)
  • PRI:进程的优先级(越大的数字代表越低的优先级)
  • NI:谦让度(nice)值用来决定优先级
  • ADDR:进程的内存地址
  • SZ:假如进程被换出,所需交换空间的大致大小
  • WCHAN:进程休眠的内核函数的地址

实时监测进程

top命令,观察频繁换进换出内存的进程的趋势

shell如何检查k8s deployment部署状态 shell检测进程_数据_03


第一行:当前时间、系统的运行时间、登入的用户数以及系统的平均负载度。平均负载度有三个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载度。值越大说明系统的负载越高。

第二行:显示了概要的进程信息。

第三行:显示了CPU信息。

紧跟其后的两行说明了系统内存的状态。前行说的是系统的物理内存,后一行针对系统交换空间(如果分配了的话)的状态来说的。

最后一部分显示了当前运行中的进程的详细列表。

  • USER:进程属主的名字
  • PR:进程的优先级
  • VIRT:进程占用虚拟内存总量
  • RES:进程占用物理内存总量
  • SHR:进程和其他进程共享的内存总量
  • S:进程的状态
  • %CPU:进程使用的CPU时间比例
  • %MEN:进程使用的内存占用可用内存的比例
  • TIME+:自进程启动到目前为止的CPU时间总量
  • COMMAND:进程的命令行名称,也就是启动的程序名。

检测磁盘空间

挂载存储媒体

Linux系统将所有的磁盘都挂载到一个虚拟目录下。在使用新的存储媒体之前,你需要把它放到虚拟目录下。这项工作称为挂载。
Linux上用来挂载媒体的命令叫做mount。从Linux系统上移除一个可移动设备时,不能直接从系统上移除,而应该先卸载它。卸载设备的命令叫umount

//手动将U盘/dev/sdb1挂载到/media/disk
mount -t vfat /dev/sdb1 /media/disk
//卸载。如果有任何程序正在使用设备上的文件,系统将不允许你卸载它
umount /home/wg/mnt

df命令

df命令查看所有已挂载磁盘的使用情况

shell如何检查k8s deployment部署状态 shell检测进程_命令行_04


1K-块:能容纳多少个1024字节大小的块

常用参数:-h:把输出汇总的磁盘空间按人类可读的形式显示,通常用M来代替兆字节,用G来代替吉字节

shell如何检查k8s deployment部署状态 shell检测进程_优先级_05

du命令

du命令可以显示某个特定目录(默认是当前目录)的磁盘使用情况。可以用来判断系统上某个目录下是不是有超大文件的快速方法。

shell如何检查k8s deployment部署状态 shell检测进程_优先级_06


每行输出开始的地方的数值,是每个文件或目录占用的磁盘块数。

常用参数:

  • -c:显示所有已列出文件总的大小。
  • -h:按人类可读的格式输出大小,用K替代千字节,用M替代兆字节,用G替代吉字节。
  • -s:显示每个输出参数的统计。

处理数据文件

排序数据

sort命令:默认情况下,sort命令会把数字当做字符而执行标准的字符排序,参数-n可以告诉sort命令把数字识别成数字而不是字符,并且将他们按值排序。

shell如何检查k8s deployment部署状态 shell检测进程_数据_07


另一个常用的参数是-M,按月排序。Linux的日志文件经常会在每行的起始位置有一个时间戳,用来表明事件时什么时候发生的。

搜索数据

grep [options] pattern [file]

grep命令会到输入中或指定的文件中查找包含匹配指定模式的字符的行

shell如何检查k8s deployment部署状态 shell检测进程_命令行_08


如果要进行反向搜索(输出不匹配该模式的行),可加-v参数:

shell如何检查k8s deployment部署状态 shell检测进程_数据_09


如果要显示匹配模式下的行号,可加-n参数:

shell如何检查k8s deployment部署状态 shell检测进程_数据_10


如果只要知道多少行含有匹配的模式,可用-c参数:

shell如何检查k8s deployment部署状态 shell检测进程_优先级_11

压缩数据

工具

文件扩展名

描述

bzip2

.bz2

采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码

compress

.Z

原始的Unix文件压缩工具,逐渐消失中

gzip

.gz

GNU压缩工具,用Lempel-Ziv编码

zip

.zip

Windows上PKZIP工具的Unix实现

归档数据

tar命令