菜单

系统监控和管理

相关源文件

本文档涵盖了用于监控系统资源、管理进程、处理软件包以及控制类Unix操作系统中系统电源状态的命令行实用程序。有关网络相关工具,请参阅 网络配置与诊断。有关文件操作实用程序,请参阅 文件与数据操作

系统监控与管理工具概述

系统监控与管理架构

来源: pages/common/htop.md pages/common/ps.md pages/linux/dmesg.md pages/linux/upower.md pages/linux/coredumpctl.md pages/common/id.md pages/linux/pidof.md pages/common/xargs.md pages/common/compgen.md pages/common/wc.md pages/linux/pacman.md pages/linux/dnf5.md pages/linux/poweroff.md pages/linux/reboot.md pages/linux/halt.md pages/linux/minicom.md pages/common/picocom.md pages/linux/cu.md

进程监控工具

进程监控与管理工作流程

来源: pages/common/htop.md pages/common/ps.md pages/linux/pidof.md pages/common/xargs.md pages/common/sudo.md

htop

htoptop 的增强版,提供具有交互界面的动态实时进程视图。

主要功能

  • 交互式进程查看,支持颜色编码输出
  • CPU、内存和交换空间使用情况的视觉指示
  • 树状视图,显示父子进程关系
  • 按多种标准对进程排序的能力

基本用法和选项

命令描述
htop使用默认设置启动 htop
htop -u username显示特定用户的进程
htop -t以树状视图显示进程
htop -s sort_item按指定项对进程排序
htop -d 50将更新延迟设置为 5 秒(50 芬之 1 秒)

交互式命令

  • ?: 显示帮助
  • Tab: 切换到不同的标签页
  • F6: 选择排序字段
  • F9: 终止进程

来源: pages/common/htop.md

ps

ps 显示有关活动进程的信息,提供静态快照,而非连续更新的显示。

常见用法模式

命令描述
ps aux列出所有正在运行的进程
ps auxww列出具有完整命令行字符串的进程
ps aux | grep [string]搜索匹配字符串的进程
ps -u $(id -u) -F以完整格式列出当前用户的进程
ps -u $(id -u) f以树状格式列出当前用户的进程
ps -o ppid= -p pid获取进程的父 PID
ps --sort size按内存消耗对进程排序

来源: pages/common/ps.md

系统信息工具

这些实用程序提供了有关系统各个方面的详细信息。

dmesg

dmesg 将内核消息写入标准输出,这对于硬件故障排除和系统诊断非常有用。

命令描述
sudo dmesg显示内核消息
sudo dmesg -l err仅显示内核错误消息
sudo dmesg -w显示并跟踪新的内核消息
sudo dmesg | grep -i memory显示与内存相关的消息
sudo dmesg -T显示带时间戳的消息
sudo dmesg -H以人类可读的格式显示消息

来源: pages/linux/dmesg.md

upower

upower 提供有关电源和电池的信息及统计数据。

命令描述
upower -d显示电源和电池信息
upower -e列出所有电源设备
upower -m监视电源状态变化
upower --monitor-detail监视详细的电源状态变化

来源: pages/linux/upower.md

coredumpctl

coredumpctl 检索和处理从崩溃程序中保存的core dumps。

命令描述
coredumpctl列出所有捕获到的 core dumps
coredumpctl list program列出特定程序的 core dumps
coredumpctl info PID显示与 PID 匹配的 core dumps 的信息
coredumpctl debug使用最后一个 core dump 调用调试器
coredumpctl debug program调试特定程序的最后一个 core dump
coredumpctl --output path/to/file dump program将 core dump 提取到文件中

来源: pages/linux/coredumpctl.md

包管理

软件包管理系统负责软件软件包的安装、升级、配置和卸载。

跨发行版的软件包管理操作

来源: pages/linux/pacman.md pages/linux/dnf5.md

Arch Linux - pacman

pacman 是 Arch Linux 及其衍生系统的软件包管理工具。

关键操作

命令描述
sudo pacman -Syu同步并更新所有软件包
sudo pacman -S package安装新软件包
sudo pacman -Rs package移除软件包及其依赖项
pacman -Ss "search_pattern"按模式搜索软件包数据库
pacman -F "file_name"搜索包含指定文件的软件包
pacman -Q列出已安装的软件包及其版本
pacman -Qe列出显式安装的软件包
pacman -Qtdq列出孤立的软件包
sudo pacman -Scc清除 pacman 的所有缓存

来源: pages/linux/pacman.md

Fedora/RHEL - dnf5

dnf5 是 RHEL、Fedora 和 CentOS 的 DNF 包管理器 C++ 重写版本,性能更优,体积更小。

关键操作

命令描述
sudo dnf5 upgrade升级已安装的软件包
dnf5 search keyword通过关键字搜索软件包
dnf5 info package显示软件包的详细信息
sudo dnf5 install package1 package2安装新软件包
sudo dnf5 remove package1 package2移除软件包
dnf5 list --installed列出已安装的软件包
dnf5 provides command查找提供指定命令的软件包
sudo dnf5 clean all移除或过期缓存的数据

来源: pages/linux/dnf5.md

系统控制

系统控制命令用于管理系统的电源状态和运行状态。

系统电源管理命令

命令描述
poweroff关闭系统电源
poweroff --halt停止系统(与 halt 相同)
poweroff --reboot重启系统(与 reboot 相同)
poweroff -f强制立即关机
reboot重启系统
reboot -p关闭系统电源(与 poweroff 相同)
reboot --halt停止系统(与 halt 相同)
reboot -f强制立即重启
halt停止系统(终止所有进程并关闭 CPU)
halt -p关闭系统电源(与 poweroff 相同)
halt --reboot重启系统(与 reboot 相同)
halt -f强制立即停止

来源: pages/linux/poweroff.md pages/linux/reboot.md pages/linux/halt.md

串行和硬件接口

这些工具通过串行接口与硬件设备进行通信。

串行通信工具

工具主要目的关键命令
minicom终端仿真和调制解调器控制sudo minicom -D /dev/ttyXYZ
sudo minicom -D /dev/ttyXYZ -b 115200
sudo minicom -D /dev/ttyXYZ -s
picocom最小串行控制台程序sudo picocom /dev/ttyXYZ
sudo picocom /dev/ttyXYZ -b baud_rate
sudo picocom /dev/ttyXYZ --imap lfcrlf
cu通过串行端口呼叫另一台系统sudo cu -l /dev/ttyXYZ
sudo cu -l /dev/ttyXYZ -s 115200
sudo cu -l /dev/ttyXYZ -s 115200 -h

来源: pages/linux/minicom.md pages/common/picocom.md pages/linux/cu.md

进程和命令实用程序

用于处理进程和命令的其他实用程序。

xargs

xargs 从另一个命令或文件接收输入,并通过将其作为参数来构建和执行命令。它将输入视为文本块并将其分解为独立的单元。

关键操作

命令描述
source | xargs command使用输入数据作为参数运行命令
source | xargs sh -c "cmd1 && cmd2"运行多个链式命令
find . -name '*.log' -print0 | xargs -0 -P 4 -n 1 gzip使用 null 分隔符并行处理
source | xargs -n 1 command每行输入执行一次命令
source | xargs -I _ command _ extra_args用输入行替换占位符
source | xargs -P max_procs command并行运行进程

来源: pages/common/xargs.md

compgen

compgen 是 Bash 内建命令,用于自动补全,在按两次 Tab 键时调用。

关键操作

命令描述
compgen -c列出所有可以运行的命令
compgen -c str列出以字符串开头的命令
compgen -a列出所有别名
compgen -A function列出所有可以运行的函数
compgen -k显示 shell 保留关键字
compgen -ac ls查看以 'ls' 开头的可用命令/别名
compgen -u列出系统中所有用户

来源: pages/common/compgen.md

id

id 显示当前用户和组的身份信息。

命令描述
id显示当前用户的 ID(UID)、组 ID(GID)和所属组
id -un显示当前用户的身份名称
id -u以数字显示当前用户的身份
id -gn显示当前主组的身份名称
id -g以数字显示当前主组的身份
id username显示指定用户的信息

来源: pages/common/id.md

wc

wc(word count)用于统计文件或输入中的行数、单词数和字节数。

命令描述
wc -l file统计文件中的行数
wc -w file统计文件中的单词数
wc -c file统计文件中的字节数
wc -m file统计文件中的字符数
find . | wc统计标准输入的所有行、单词和字节数
wc -L file统计文件中最长行的长度(字符数)

来源: pages/common/wc.md

file

file 通过检查内容而不是依赖文件扩展名来确定文件类型。

命令描述
file path/to/file确定文件类型
file -z foo.zip查看压缩文件内部
file -s path/to/file处理特殊文件或设备文件
file -k path/to/file在找到第一个匹配项后继续
file -i path/to/file确定 MIME 编码类型

来源: pages/common/file.md