Shell 命令基础2

1、常用系统进程相关命令

1.1、ps 命令

ps 是 processes 的缩写,其功能是查看当前系统进程状态,语法格式为:“ps [选项]

在 Linux 系统中的命令选项有长短格式之分,多个短格式的选项可以合并,合并后仅保留一个 -(减号),如 ps -a -u -x 可合并写成 ps -aux。
多个长格式或长短格式混合均不能合并。
另外 ps 命令允许选项不加减号(-),因此 ps -aux 可进一步简化为 ps aux。

常见选项和含义如表

选项含义
-a显示所有用户进程(包括其他用户的进程)
-u显示进程所有者的信息
-x显示没有控制终端的进程及后台进程
-e显示所有进程
-r只显示正在运行的进程
-f按全格式显示(列出进程间父子关系)
-lL 的小写,按长格式显示

最常用的使用选项组合是 aux

ps-aux

输出的第一行列标题的含义简要解释如下表

字段含义
USER进程的所有者
PID进程 ID 号
%CPUCPU 占用率
%MEM内存占用率
VSZ虚拟内存使用量(单位 KB)
RSS常驻内存大小(Resident Set Size),单位 KB
TTY进程的控制终端(值?表示该进程与控制终端没有关联)
STAT进程状态
START进程启动时间
TIME进程已执行的时间
COMMAND进程对应的程序名和运行参数

Linux 系统中常见的进程状态

符合详细
R(Running)正在运行或就绪状态。
S(Sleeping)可中断的休眠状态。
D(Deep sleeping)不可中断的深度休眠状态,一般发生在磁盘写入。
Z(Zombie)僵尸状态,即该进程已经终止。
T(Stopped)停止状态。
I(Idle)空闲内核线程。

除了上面的 6 种常见进程状态,还有高优先级(<),低优先级(N),有锁进内存的页面(L),包含子进程(s)、多线程(l)和处于前台进程组(+)等 6种补充形式。

若要查看进程之间的继承和层次关系,可以使用 pstree 命令。

pstree

1.2、top 命令

ps 仅能静态地输出进程信息,而 top 命令用于动态地查看进程活动及系统负载等信息,类似于 Windows 中的任务管理器。

按 Ctrl+C 组合键可终止查看。
按空格键表示刷新
按 Ctrl+L 表示清空屏幕并重写等

top
前面 5 行内容是系统状态的统计信息,每行的含义简要介绍如下:

第 1 行是运行时间和系统负载摘要:依次为系统时间、运行时间、登录用户数、平均负载(1 分钟、5 分钟、15 分钟内的平均负载)。

第 2 行是任务进程摘要:依次为进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵尸进程数。

第 3 行是 CPU 使用时间比例摘要:依次为运行的用户进程、系统内核进程、改变过优先级用户进程、空闲进程、等待进程、硬件中断、软件中断和虚拟机等进程占用 CPU 时间的百分比。

第 4 行是物理内存使用情况摘要:依次为物理内存总量、内存空闲量、内存使用量、缓存量,单位 MB。

第 5 行是虚拟内存使用情况摘要:依次为虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已加载的物理内存量。

字段含义
PIDProcess Id,进程 ID 号
USER进程的所有者
PRPriority,优先级
NINice Value,负值表示高优先级,正值表示低先级
VIRTVirtual Memory Size,虚拟内存大小,单位 KB。
RESResident Memory Size,常驻内存大小,单位 KB。
SHRShared Memory Size,共享内存大小,单位 KB。
SProcess Status,进程状态,包括在 ps 命令中介绍的 6 种常见状态
%CPUCPU Usage,CPU 使用量
%MEMMemory Usage,内存使用量
TIME+CPU 使用时间总计(精确到 0.01 秒)
COMMAND显示进程对应的程序名称和运行参数

1.3、nice 命令

每个进程都有一个优先级参数用于表示 CPU 占用的等级,优先级高的进程更容易获取CPU 资源而更早执行。
进程优先级可用 nice 值表示,其范围是-20 到 19,数字越小,则优先级越高,默认值为 10,系统进程的默认优先级为 0。

nice 命令用于设置进程的优先级,常用语法格式为:“nice -n 值 命令或服务” 或 “nice --adjustment=N 命令或服务”。

实际应用中,可以将一些重要进程的优先级调高,而不重要的调低,实现系统资源的合理分配。

wget https://wordpress.org/latest.zip
top | grep "wget"

wget 命令下载文件的优先级值增加 8,降低优先级。再次利用 top命令可以看到 command 字段值为 wget 的 NI 的值从默认的 0 增加到了 8,PR 的值也从默认值 20 增加到了 28。
PRI(new) = PRI(old) + NI

nice -n 8 wget https://wordpress.org/latest.zip
top | grep "wget"

只有 root 管理员用户才能将值 N 设为负数,下调 NI 值,普通用户只能指定正数 N 增加
NI 的值。

1.4 、pidof 命令

pidof命令用于查询某个指定服务进程的PID值,语法格式为:“pidof [选项] 服务名称”。
PID 用于区分不同的进程,因而每个进程的 PID 是唯一的。
pidof

1.5、kill 命令

kill 命令用于终止某个指定 PID 值的服务进程,语法格式为:“kill [选项] PID”。
当需要终止某个服务进程特别是异常进程时就可以使用 kill 命令。若提示进程无法终止,还可以使用选项-9 强行终止进程。
kill

如果 pidof 命令查询到一个服务包含了多个 PID,为了提高效率,可以直接使用 killall
命令终止服务,该命令的基本用法为:“killall 服务名”。

1.6、 sleep 命令

sleep 命令的功能是使进程暂停运行一段时间,其基本语法格式为:“sleep 时间值”。
时间值的单位默认为秒。sleep 命令常用于 shell 脚本设计,它使两条命令执行之间停顿
指定的时间。

sleep

执行 sync 命令让缓存中的数据写入磁盘,并等待 60 秒,最后重启。

2、常用网络状态查看命令

2.1、ifconfig 命令

ifconfig 英文的全称是 interface config,其作用是查看或配置网络适配器的网络参数,基本语法格式为:“ifconfig [选项] [网络适配器]”。
不带任何选项和参数时,ifconfig 命令将显示所有网络接口的状态及其网络参数,其功能与命令“ip address”相似。

ifconfig
项目解释
网络适配器图中的 ens160,以及 flags 中的 UP 和 RUNNING 状态。
lo本地回环接口
virbr0虚拟桥接接口。
IP 地址inet 后的值 192.168.9.50
MAC 地址图中的 ether 后的值00:0c:29:31:ea:e8
接收数据包图中的 RX packets 后的值。
发送数据包图中的 TX packets 后的值。

ifconfig 命令还可以配置网络参数

禁用/开启网络适配器以及查看指定网络适配器的网络参数

ifconfig ens160 down
ifconfig ens160 up
ifconfig ens160

2.2、ping 命令

ping 命令用于测试主机之间的网络连通性,语法格式为:“ping [选项] 目标地址”。
ping 命令利用 ICMP 回声请求/响应查询报文来测试与目标主机的网络连通性,若收到目标主机的响应报文,则可判定目标主机在线且网络正常。

ping 命令的常见选项以及含义如表

选项含义
-c总共发送次数
-I指定网络适配器名称
-i每次间隔时间(秒)
-W最长等待时间(秒)
-s指定发送的数据包的大小
ping -c 4 -s 128 www.baidu.com

命令 ping 的示例如图所示,其中指定发送 4 个数据包,每个数据包的大小为 128字节;目标主机每收到一个请求报文都有返回一个回声响应报文。
如果源/目网络相通,其典型特征是系统将显示“X bytes from 目标 IP 地址……”。其中需要重点关注的是最下面的两行统计内容,主要包括统计发送的数据包个数,接收数据包的个数,丢失的个数以及总耗时;往返时间的最小/平均/最大/算术平方差。

若目标主机不在线,或者网络不通,则会提示“Destination Host unreachable”的字样。
如果目标主机没有响应或响应被防火墙过滤,则系统没有任何输出,按 Ctrl+C 组合键终止 ping 时,系统会提示传输的包均被丢失,没有收到响应包。

2.3、tracepath 命令

tracepath 命令用于显示数据包达到目的主机途中所经过的路由信息,一般用于网络排错,比如当两台跨网络的主机无法正常 ping 通时,就可以用该命令排查错误发生在哪个地方,以便分析是中间哪台设备出现问题。

tracepath 命令的常用语法格式为:tracepath [选项] 目标地址

其中常用选项为-n 和-m。选项-n 表示用 IP 地址表示中间设备,选项-m 用于设置探测的最大跳数,默认值为 30。
tracepath 命令也常被入侵者用于网络拓扑探测,因此,大多数情况下,该命令的数据包会被防火墙过滤掉。
tracepath 命令如图所示,图中的 pmtu 是指路径最大传输单元,no reply 表示被防火墙过虑,未收到响应包。

tracepath -n -m 4 www.csdn.net

2.4、netstat 命令

netstat 是 network status 的缩写,该命令用于显示各种网络相关信息,包括网络连接、路由表、接口状态、masquerade 伪装连接,多播成员等。
语法格式为:“netstat [选项]” 。

netstat 命令的常见选项及含义如表

选项含义
-a显示所有 Socket 连接
-p显示每个 Socket 连接的程序名称及 PID
-t显示 TCP 协议的连接信息
-u显示 UDP 协议的连接信息
-n以数字形式显示信息
-l仅列出正在监听的服务信息
-i查看网络接口信息
-r显示路由表信息
-e显示扩展信息,如 UID

与 netstat 功能相似的命令还有 ss,很多选项也类似

3、常用系统状态检测命令

3.1、uname 命令

uname 是 Unix name 的简写,该命令的功能是查看系统信息,包括内核版本与操作系统等信息,语法格式为:“uname [选项]”。

选项-a 选项来完整地查看当前系统的内核名称、主机名、内核版本、内核编译版本与时间、机器硬件、CPU 类型、硬件平台和操作系统等信息
选项-r 用于显示内核版本信息
uname

3.2、uptime 命令

uptime 命令用于查看当前系统的运行时长,常用选项-p 来以漂亮格式显示系统运行时长。不带任何选项时,将显示当前系统时间、系统运行时长、在线用户数以及最近 1、5 和15 分钟内的平均负载。

uptime

3.3、free 命令

free 命令用于显示当前系统中内存的使用情况,语法格式为:“free [选项]”。
常用选项为-h,表示 human,即以人性化的方式输出当前内存已用/空闲大小

free
Mi/Gi 表示二进制的字节存储单位,1Gi=1024Mi。
第一行是物理内存 Mem 的使用情况,第二行是虚拟交换内存 Swap 的使
用情况。

字段含义
total内存总量
used已使用量
free空闲量
shared进程共享的内存量
buff/cache缓冲/缓存量
available可用物理内存

3.4、who 命令

who 命令用于查看登录到当前系统的用户信息,常用选项与含义如表

选项含义
-H显示各列标题名称
-u显示登录系统的用户名
-l显示系统登录进程

who-hul
如果有远程用户登录,则会显示出该用户的登录 IP 地址。

图中的 tty2 表示 2 号控制台,常见的有 tty1~tty6,可用 Ctrl+Alt+F1~6 进行切换。pts/0,1,2 ,在桌面 Linux 中分别表示标准输入、标准输出和标准错误。

3.5、last 命令

Linux 系统会将每次登录信息都记录到日志文件中,当需要查阅最近系统登录日志时,就可以使用 last 命令来调。

last
图中可以看到哪些用户、以何种方式、何时登录到系统,以及现在的状态。

在最下面可以看到日志文件名为 wtmp,以及从何时开始记录。

3.6、sosreport 命令

sosreport 命令用于收集系统配置与诊断信息,并将生成的文档打包。
当 Linux 系统出现故障需要联系技术支持人员时,就可以先使用这个命令来简单收集系统配置与诊断信息,然后将打包的文件发送给技术支持人员,以便让技术支持人员能够远程解决一些小问题,或者让他们能提前了解某些复杂问题。
输入sosreport,后面需要两次enter键。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi_heibao

谢谢您的鼓励与支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值