跳到主要内容

Systemd 速查表

systemd 是 Linux 系统的事实标准初始化系统和服务管理器。本速查表按功能类别整理了 systemd 的常用命令,涵盖服务启停、定时任务、日志查询、单元管理、启动性能分析和 Socket 激活等场景,每个命令都有实际使用示例。

更新: 2026-07-16·40 条命令

使用场景速查

你要做什么用哪个命令
启动服务systemctl start nginx
查看服务状态systemctl status nginx
查看实时日志journalctl -u nginx -f
创建定时任务systemd-timer(单元)
分析启动速度systemd-analyze blame
查看 Socket 激活systemctl list-sockets

服务管理

``bash # 启动/停止/重启/重载服务 systemctl start nginx.service # 启动服务(.service 可省略) systemctl stop nginx # 停止服务 systemctl restart nginx # 重启服务 systemctl reload nginx # 重新加载配置文件(不中断服务) systemctl reload-or-restart nginx # 支持 reload 就 reload,否则 restart

# 启用/禁用服务(开机自启) systemctl enable nginx # 启用开机自启 systemctl enable --now nginx # 启用并立即启动 systemctl disable nginx # 禁用开机自启 systemctl disable --now nginx # 禁用并立即停止

# 查看服务状态 systemctl status nginx # 查看服务详细状态(含最近日志) systemctl is-active nginx # 检查是否运行中 (active/inactive) systemctl is-enabled nginx # 检查是否启用 (enabled/disabled) systemctl is-failed nginx # 检查是否失败

# mask/unmask(彻底屏蔽) systemctl mask nginx # 屏蔽服务(无法手动启动) systemctl unmask nginx # 取消屏蔽 `

定时器管理

`bash # 查看定时器 systemctl list-timers # 列出所有定时器(含下次触发时间) systemctl list-timers --all # 列出所有(含已失效的) systemctl status myapp.timer # 查看定时器状态

# 定时器操作 systemctl start myapp.timer # 启动定时器 systemctl enable myapp.timer # 启用定时器开机自启 systemctl stop myapp.timer # 停止定时器 systemctl disable myapp.timer # 禁用定时器

# 手动触发定时器 systemctl start myapp.service # 手动触发关联服务(相当于立即执行)

# 查看定时器日志 journalctl -u myapp.timer # 查看定时器日志 journalctl -u myapp.service # 查看服务执行日志 `

日志查看

`bash # 基本查看 journalctl # 查看所有日志(less 分页) journalctl -n 50 # 查看最近 50 条日志 journalctl -f # 实时跟踪日志(类似 tail -f) journalctl -e # 跳转到日志末尾

# 按服务过滤 journalctl -u nginx # 查看指定服务的日志 journalctl -u nginx -u sshd # 查看多个服务的日志 journalctl -u nginx -f # 实时跟踪指定服务日志

# 按时间过滤 journalctl --since today # 查看今天日志 journalctl --since "2026-07-15" # 从指定日期开始 journalctl --until "1 hour ago" # 到一小时前为止 journalctl --since "2026-07-15 09:00" --until "2026-07-15 18:00"

# 按优先级过滤 journalctl -p err # 只显示错误级别及以上的日志 journalctl -p warning # 警告及以上 journalctl -p err -u nginx # 组合过滤

# 输出格式 journalctl -o json # JSON 格式输出 journalctl -o verbose # 详细格式(含所有字段) journalctl -o short-monotonic # 单调时间格式

# 磁盘管理 journalctl --disk-usage # 查看日志占用磁盘空间 journalctl --vacuum-size=500M # 保留最近 500M 日志 journalctl --vacuum-time=30d # 保留最近 30 天日志 `

单元管理

`bash # 列出单元 systemctl list-units # 列出所有活跃单元 systemctl list-units --type=service # 列出所有服务单元 systemctl list-units --type=timer # 列出所有定时器单元 systemctl list-units --type=socket # 列出所有 socket 单元 systemctl list-units --state=running # 列出运行中的单元 systemctl list-unit-files # 列出所有单元文件及其启用状态

# 单元操作 systemctl cat nginx.service # 查看单元文件内容 systemctl show nginx.service # 查看单元详细属性 systemctl list-dependencies nginx # 查看单元的依赖关系 systemctl help nginx.service # 查看单元的手册页

# 系统状态 systemctl daemon-reload # 重载单元文件(修改后需要) systemctl reset-failed nginx # 清除失败状态 systemctl is-system-running # 检查系统状态 (running/degraded)

# 编辑单元文件 systemctl edit nginx.service # 创建 drop-in 覆盖文件 systemctl edit --full nginx.service # 编辑完整单元文件

# 屏蔽/隐藏单元 systemctl mask nginx.service # 屏蔽单元(无法启动) systemctl unmask nginx.service # 取消屏蔽 `

系统启动分析

`bash # 启动时间分析 systemd-analyze # 查看总体启动时间 systemd-analyze time # 同上(详细版) systemd-analyze blame # 按初始化时间排序(找出最慢的服务) systemd-analyze critical-chain # 显示关键链(启动瓶颈) systemd-analyze plot > boot.svg # 生成启动时间图(SVG)

# 依赖分析 systemd-analyze dot nginx.service # 生成依赖图(DOT 格式) systemd-analyze dot | dot -Tsvg > deps.svg # 生成依赖图 SVG

# security(系统安全审计) systemd-analyze security # 所有服务的安全评分 systemd-analyze security nginx.service # 指定服务安全评分

# 环境检查 systemd-analyze verify /etc/systemd/system/myapp.service # 验证单元文件 systemd-analyze condition 'ConditionPathExists=/etc/nginx' # 测试条件

# sysv-compat systemd-analyze sysv-chkconfig # 查看 SysV 兼容服务 `

Socket 激活

`bash # 查看 socket 单元 systemctl list-sockets # 列出所有 socket 以及关联的服务 systemctl list-units --type=socket # 列出所有 socket 单元

# Socket 操作 systemctl start myapp.socket # 启动 socket 监听 systemctl enable myapp.socket # 启用 socket 开机自启 systemctl status myapp.socket # 查看 socket 状态

# Socket 激活信息 systemctl show myapp.socket # 查看 socket 配置详情 ss -tlnp | grep myapp # 查看实际监听端口

# 查看监听状态 systemctl is-active myapp.socket # 检查 socket 是否在监听 journalctl -u myapp.socket # 查看 socket 相关日志 ``

服务管理(10)

命令难度
systemctl start
启动服务
基础
systemctl stop
停止服务
基础
systemctl restart
重启服务
基础
systemctl reload
重新加载服务配置(不中断服务)
中级
systemctl enable
启用服务开机自启
基础
systemctl disable
禁用服务开机自启
基础
systemctl enable --now
启用服务并立即启动
基础
systemctl status
查看服务详细状态(含最近日志)
基础
systemctl is-active / is-enabled / is-failed
检查服务运行/启用/失败状态
中级
systemctl mask / unmask
屏蔽/取消屏蔽服务(彻底阻止启动)
高级

定时器管理(4)

命令难度
systemctl list-timers
列出所有定时器及下次触发时间
基础
systemctl start myapp.timer
启动定时器
基础
systemctl enable myapp.timer
启用定时器开机自启
基础
journalctl -u myapp.timer
查看定时器相关日志
中级

日志查看(8)

命令难度
journalctl
查看所有系统日志(less 分页)
基础
journalctl -f
实时跟踪日志(类似 tail -f)
基础
journalctl -u
按服务单元过滤日志
基础
journalctl --since / --until
按时间范围过滤日志
中级
journalctl -p
按日志优先级过滤
中级
journalctl -o json
以 JSON 格式输出日志
中级
journalctl --disk-usage
查看日志占用磁盘空间
中级
journalctl --vacuum-size / --vacuum-time
限制日志占用空间或保留时间
高级

单元管理(7)

命令难度
systemctl list-units
列出所有活跃单元
基础
systemctl list-unit-files
列出所有单元文件及其启用状态
基础
systemctl cat
查看单元文件内容
中级
systemctl show
查看单元详细属性
中级
systemctl list-dependencies
查看单元依赖关系
中级
systemctl daemon-reload
重载单元文件(修改后必须执行)
基础
systemctl edit
编辑单元文件(创建 drop-in 覆盖)
高级

启动分析(6)

命令难度
systemd-analyze time
查看系统总启动时间
基础
systemd-analyze blame
按初始化时间排序服务(找出最慢的服务)
中级
systemd-analyze critical-chain
显示启动关键链(瓶颈分析)
中级
systemd-analyze plot
生成启动时间图(SVG 格式)
中级
systemd-analyze security
服务安全评分审计
高级
systemd-analyze verify
验证单元文件语法
高级

Socket 激活(5)

命令难度
systemctl list-sockets
列出所有 socket 监听及关联服务
基础
systemctl start myapp.socket
启动 socket 监听
中级
systemctl enable myapp.socket
启用 socket 开机自启
中级
systemctl show myapp.socket
查看 socket 配置详情
中级
systemctl is-active myapp.socket
检查 socket 是否正在监听
中级

常见问题

本速查表数据整理自各工具官方文档。最后更新: 2026-07-16。