本文档涵盖了用于监控系统资源、管理进程、处理软件包以及控制类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 是 top 的增强版,提供具有交互界面的动态实时进程视图。
主要功能
基本用法和选项
| 命令 | 描述 |
|---|---|
htop | 使用默认设置启动 htop |
htop -u username | 显示特定用户的进程 |
htop -t | 以树状视图显示进程 |
htop -s sort_item | 按指定项对进程排序 |
htop -d 50 | 将更新延迟设置为 5 秒(50 芬之 1 秒) |
交互式命令
?: 显示帮助Tab: 切换到不同的标签页F6: 选择排序字段F9: 终止进程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 | 按内存消耗对进程排序 |
这些实用程序提供了有关系统各个方面的详细信息。
dmesg 将内核消息写入标准输出,这对于硬件故障排除和系统诊断非常有用。
| 命令 | 描述 |
|---|---|
sudo dmesg | 显示内核消息 |
sudo dmesg -l err | 仅显示内核错误消息 |
sudo dmesg -w | 显示并跟踪新的内核消息 |
sudo dmesg | grep -i memory | 显示与内存相关的消息 |
sudo dmesg -T | 显示带时间戳的消息 |
sudo dmesg -H | 以人类可读的格式显示消息 |
upower 提供有关电源和电池的信息及统计数据。
| 命令 | 描述 |
|---|---|
upower -d | 显示电源和电池信息 |
upower -e | 列出所有电源设备 |
upower -m | 监视电源状态变化 |
upower --monitor-detail | 监视详细的电源状态变化 |
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
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 的所有缓存 |
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 | 移除或过期缓存的数据 |
系统控制命令用于管理系统的电源状态和运行状态。
| 命令 | 描述 |
|---|---|
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 从另一个命令或文件接收输入,并通过将其作为参数来构建和执行命令。它将输入视为文本块并将其分解为独立的单元。
关键操作
| 命令 | 描述 |
|---|---|
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 | 并行运行进程 |
compgen 是 Bash 内建命令,用于自动补全,在按两次 Tab 键时调用。
关键操作
| 命令 | 描述 |
|---|---|
compgen -c | 列出所有可以运行的命令 |
compgen -c str | 列出以字符串开头的命令 |
compgen -a | 列出所有别名 |
compgen -A function | 列出所有可以运行的函数 |
compgen -k | 显示 shell 保留关键字 |
compgen -ac ls | 查看以 'ls' 开头的可用命令/别名 |
compgen -u | 列出系统中所有用户 |
id 显示当前用户和组的身份信息。
| 命令 | 描述 |
|---|---|
id | 显示当前用户的 ID(UID)、组 ID(GID)和所属组 |
id -un | 显示当前用户的身份名称 |
id -u | 以数字显示当前用户的身份 |
id -gn | 显示当前主组的身份名称 |
id -g | 以数字显示当前主组的身份 |
id username | 显示指定用户的信息 |
wc(word count)用于统计文件或输入中的行数、单词数和字节数。
| 命令 | 描述 |
|---|---|
wc -l file | 统计文件中的行数 |
wc -w file | 统计文件中的单词数 |
wc -c file | 统计文件中的字节数 |
wc -m file | 统计文件中的字符数 |
find . | wc | 统计标准输入的所有行、单词和字节数 |
wc -L 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 编码类型 |