菜单

核心系统工具

相关源文件

tldr-pages 仓库中记录的核心系统工具代表了构成类 Unix 操作系统骨干的基础命令行工具。本页概述了这些基本工具、它们的目的以及在 tldr-pages 项目中的组织。有关特定工具类别的更详细信息,请参阅子页面:文件和数据操作系统监控和管理网络配置和诊断Shell 工具和文本处理

核心系统工具的分类

核心系统工具可根据其功能大致分为几类

来源:pages/linux/reboot.md pages/linux/poweroff.md pages/linux/halt.md pages/linux/dmesg.md pages/common/htop.md pages/common/ps.md pages/common/file.md pages/common/wc.md pages/common/uniq.md pages/common/xargs.md pages/common/id.md pages/common/sudo.md pages/linux/upower.md

工具接口约定

大多数核心系统工具都遵循一致的接口模式,这使得它们易于预测且更容易学习

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

系统管理工具

系统管理工具提供对系统状态和硬件的控制。这些工具允许管理员管理系统操作,如关闭、重启和硬件查询。

实用工具目的常见用法
reboot重启系统rebootreboot -f 强制重启
poweroff关闭系统poweroffpoweroff -f 强制关机
halt停止所有 CPU 功能halthalt -f 强制停止
dmesg显示内核消息dmesgdmesg -H 人类可读格式

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

示例:系统关机选项

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

进程监控和管理

进程监控工具允许用户查看、分析和管理系统上运行的进程。

htop 交互式进程查看器

htop 是传统 top 命令的增强版本,它提供了一个交互式界面,用于通过颜色编码的视觉指示器监控进程,并能够垂直和水平滚动。

htop 的主要功能

  • 可导航、搜索和过滤的交互式进程列表
  • CPU、内存和交换空间使用情况的可视化表示
  • 能够将进程显示为树状结构,以可视化父子关系
  • 进程管理功能,包括 kill、nice 和重命名

来源:pages/common/htop.md

使用 ps 查看进程状态

ps 命令提供当前进程的快照,并有许多用于过滤和格式化输出的选项。

常见用法模式

  • ps aux - 列出所有用户的进程
  • ps -ef - 全格式列表
  • ps -u 用户名 - 列出特定用户的进程
  • ps --sort=size - 按内存使用量对进程排序

来源: pages/common/ps.md

文件操作

文件操作实用程序帮助用户处理文件、目录及其元数据。

文件类型识别

file 命令通过检查文件内容(而不仅仅是扩展名)来确定文件类型。

file document.pdf
# Output: document.pdf: PDF document, version 1.4

来源: pages/common/file.md

文本文件分析

像 `wc`(单词计数)这样的工具提供基本的文本文件统计信息。

选项目的示例
-l计算行数wc -l file.txt
-w计算单词数wc -w file.txt
-c计算字节数wc -c file.txt
-m计算字符数wc -m file.txt

来源: pages/common/wc.md

用户管理和认证

用户管理实用程序有助于控制用户身份、权限和访问特权。

用户信息

id 命令显示当前用户或指定用户的信息。

id
# Output example: uid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom)

来源: pages/common/id.md

通过 `sudo` 提升权限

sudo 允许用户以另一个用户(默认是超级用户)的安全权限执行命令。

sudo command
sudo -u username command

来源: pages/common/sudo.md

命令构建和文本处理

这些实用程序有助于构建和执行复杂命令,通常处理文本数据。

使用 `xargs` 执行命令

xargs 从标准输入构建和执行命令,允许强大的命令链。

主要选项包括

  • -n N - 每个命令行的参数最多为 N 个
  • -P N - 最多并行运行 N 个进程
  • -I - 将字符串的出现替换为参数名

来源: pages/common/xargs.md

唯一行处理

uniq 命令报告或过滤文件中的重复行。

sort file.txt | uniq
sort file.txt | uniq -c  # Count occurrences

来源: pages/common/uniq.md

串行和终端实用程序

几个实用程序有助于与串行设备和终端进行交互。

实用工具目的示例用法
minicom用于串行端口通信的终端模拟器minicom -D /dev/ttyS0
picocom最小串行终端模拟器picocom /dev/ttyS0
cu通过串行线路呼叫另一台系统cu -l /dev/ttyS0 -s 9600

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

硬件信息实用程序

这些实用程序提供有关系统硬件组件的信息。

电源管理信息

upower 显示电池和电源管理信息。

upower -d  # Dump all power information
upower -e  # Enumerate power devices

来源: pages/linux/upower.md

核心转储和调试

coredumpctl 有助于检索和处理已保存的核心转储及其元数据,这对于调试崩溃的应用程序特别有用。

coredumpctl list          # List all captured core dumps
coredumpctl debug program # Debug the last core dump of a program

来源: pages/linux/coredumpctl.md

使用模式和组合实用程序

核心系统实用程序最强大的方面之一是通过管道、重定向和命令替换来组合它们的能力。

常见模式包括:

  1. 将一个命令的输出通过管道传递给另一个命令: `command1 | command2`
  2. 将输出重定向到文件: `command > file.txt`
  3. 使用命令替换将输出用作参数: `command $(another_command)`
  4. 使用分页处理大型输出: `command | less`

来源: pages/common/xargs.md pages/common/ps.md pages/common/wc.md

总结

核心系统实用程序构成了类 Unix 操作系统中命令行交互的基础。它们提供了系统管理、进程监控、文件操作和文本处理的基本功能。理解这些实用程序以及如何组合它们对于有效的系统管理和命令行生产力至关重要。

有关特定类别实用程序的更多详细信息,请参阅