systemctl 常用命令
服务管理
| 命令 | 说明 |
|---|---|
sudo systemctl start 服务名 | 启动服务 |
sudo systemctl stop 服务名 | 停止服务 |
sudo systemctl restart 服务名 | 重启服务 |
sudo systemctl reload 服务名 | 重新加载配置(不重启) |
systemctl status 服务名 | 查看服务状态 |
开机启动
| 命令 | 说明 |
|---|---|
sudo systemctl enable 服务名 | 设置开机自启 |
sudo systemctl disable 服务名 | 取消开机自启 |
sudo systemctl enable --now 服务名 | 设置自启并立即启动 |
systemctl is-enabled 服务名 | 检查是否开机自启 |
systemctl is-active 服务名 | 检查是否正在运行 |
查看服务列表
| 命令 | 说明 |
|---|---|
systemctl list-units --type=service --state=running | 列出所有运行中的服务 |
systemctl list-units --type=service --all | 列出所有服务(含未运行) |
systemctl list-unit-files --type=service --state=enabled | 列出所有开机自启的服务 |
systemctl list-units --failed | 列出失败的服务 |
用户级服务
| 命令 | 说明 |
|---|---|
systemctl --user start 服务名 | 启动用户级服务 |
systemctl --user stop 服务名 | 停止用户级服务 |
systemctl --user status 服务名 | 查看用户级服务状态 |
systemctl --user enable 服务名 | 设置用户级服务自启 |
systemctl --user list-units --type=service | 列出用户级服务 |
常见用户级服务:pipewire、pipewire-pulse、wireplumber
系统电源管理
| 命令 | 说明 |
|---|---|
systemctl poweroff | 关机 |
systemctl reboot | 重启 |
systemctl suspend | 挂起 |
systemctl hibernate | 休眠 |
systemctl hybrid-sleep | 混合睡眠 |
查看服务详情
| 命令 | 说明 |
|---|---|
systemctl show 服务名 -p FragmentPath | 查看服务配置文件路径 |
systemctl cat 服务名 | 查看服务的完整配置 |
systemctl show 服务名 | 查看服务的所有属性 |
systemctl list-dependencies 服务名 | 查看服务依赖树 |
修改服务配置
| 命令 | 说明 |
|---|---|
sudo systemctl edit 服务名 | 创建或编辑 override 配置 |
sudo systemctl daemon-reload | 修改后重载配置 |
sudo systemctl restart 服务名 | 重载后重启服务生效 |
override 文件路径为 /etc/systemd/system/服务名.service.d/override.conf,不要直接修改 /lib/systemd/system/ 中的文件。
定时器(Timer)
| 命令 | 说明 |
|---|---|
systemctl list-timers --all | 列出所有定时器 |
systemctl status 定时器名.timer | 查看定时器状态 |
sudo systemctl enable --now 定时器名.timer | 启用定时器 |
sudo systemctl disable 定时器名.timer | 禁用定时器 |
日志相关
| 命令 | 说明 |
|---|---|
journalctl -u 服务名 | 查看服务日志 |
journalctl -u 服务名 -f | 实时跟踪服务日志 |
journalctl -u 服务名 -b | 查看本次启动以来的服务日志 |
Target(运行级别)
| Target | 说明 |
|---|---|
graphical.target | 图形界面(默认) |
multi-user.target | 多用户命令行 |
rescue.target | 救援模式 |
emergency.target | 紧急模式 |
| 命令 | 说明 |
|---|---|
systemctl get-default | 查看当前 target |
sudo systemctl set-default multi-user.target | 启动到命令行 |
sudo systemctl set-default graphical.target | 启动到图形界面 |
sudo systemctl isolate multi-user.target | 临时切换 target |
实用技巧
| 命令 | 说明 |
|---|---|
sudo systemctl mask 服务名 | 掩盖服务(完全禁止启动) |
sudo systemctl unmask 服务名 | 取消掩盖 |
systemd-analyze | 查看启动耗时 |
systemd-analyze blame | 查看各服务启动耗时排名 |
systemd-analyze critical-chain | 查看启动关键链路 |
Last updated on