systemctl list-units 用于查看系统中已加载的 systemd 单元状态,输出包含 UNIT、LOAD、ACTIVE、SUB 和 DESCRIPTION 五列信息;常用选项包括 --all 显示所有单元,--type=service 仅显示服务,--state=failed 查看失败单元,--no-legend 隐藏标题,--no-pager 禁用分页;实际运维中可用于排查服务启动问题、定位故障单元及检查核心服务运行情况。

systemctl list-units 命令用于列出当前系统中正在运行或已加载的 systemd 单元(units)。这些单元包括服务(.service)、挂载点(.mount)、套接字(.socket)、计时器(.timer)等。该命令是查看系统服务状态和管理后台进程的重要工具。
基本用法
直接运行以下命令会列出所有已加载且处于活动状态的单元:
systemctl list-units输出内容包含以下几列:
- UNIT:单元名称
- LOAD:单元是否被成功加载(loaded 表示成功,not-found 表示未找到配置文件)
- ACTIVE:单元的活跃状态(如 active, inactive, failed)
- SUB:子状态,更详细的运行情况(如 running, exited, dead)
- DESCRIPTION:单元的简要说明
常用选项
根据不同的需求,可以添加选项来过滤输出结果:
-
--all:显示所有单元,包括非活动或未运行的
例如:systemctl list-units --all -
--type=service:只显示指定类型的服务,比如只看服务单元
例如:systemctl list-units --type=service -
--state=active:按状态过滤,仅显示处于特定状态的单元
支持的状态有 active, inactive, failed 等
例如:systemctl list-units --state=failed 查看失败的服务 -
--no-legend:不显示头部标题和统计信息,适合脚本调用
例如:systemctl list-units --no-legend - --no-pager:禁止分页输出,让内容一次性完整显示
实际使用场景
在日常系统维护中,这个命令常用于快速检查服务运行状况:
- 排查某个服务是否正常启动,可通过 systemctl list-units | grep xxx 搜索关键词
- 查看是否有服务报错,运行 systemctl list-units --state=failed 快速定位问题单元
- 了解当前系统启用了哪些核心服务,比如网络、日志、定时任务等
基本上就这些,不复杂但容易忽略细节。熟练掌握这些参数能提升故障诊断效率。










