目錄
1. 基本語法
2. 基礎命令速查表
3. 常用示例
3.1 部署新服務后,設置開機自啟并啟動
3.2 檢查系統中所有失敗的服務并嘗試修復
3.3 查看系統中所有開機自啟的服務
4. 總結
以下是 systemctl
使用指南,涵蓋服務管理、單元操作、運行級別控制、電源管理及常用示例,幫助您高效管理 Linux 系統服務和進程。
1. 基本語法
systemctl [選項...] 命令 [服務名|.target|.mount等]
- 選項:可選參數,如?
--quiet
(靜默模式)、--user
(用戶級服務)。 - 命令:操作類型(如?
start
、stop
、enable
)。 - 服務名:目標服務名稱(如?
nginx.service
)。
2. 基礎命令速查表
命令 | 作用 | 示例 |
---|---|---|
| 啟動指定服務 |
|
| 停止指定服務 |
|
| 重啟服務(先停止再啟動) |
|
| 重新加載配置(不中斷服務,更輕量) |
|
| 僅當服務運行時才重啟,否則不操作 |
|
systemctl? ?status?? | 查看服務詳細狀態 | systemctl? status? nginx |
| 配置服務開機自啟 |
|
| 禁用開機自啟(仍可手動啟動) |
|
| 立即啟動并配置開機自啟(合并操作) |
|
systemctl? ?is-active??<服務名> | 僅檢查服務是否活躍 | systemctl is-active nginx |
systemctl? is-enabled?<服務名> | 檢查服務是否開機自啟 | systemctl is-enabled nginx |
| 徹底禁用服務(禁止手動 / 自動啟動) |
|
| 取消徹底禁用 |
|
systemctl? ? list-units? | 列出當前活躍的所有單元(默認) | |
systemctl? ? list-units --all | 列出所有單元(包括未運行、失敗的) | |
systemctl? ? list-units? ?--type=service | 僅顯示服務單元 | |
systemctl? ? list-units? ?--type=timer | 僅顯示定時器單元 | |
systemctl? ? list-unit-files | 列出所有單元文件 | |
systemctl? ?cat? ???<服務名> | 查看單元文件內容(如服務的配置腳本) | systemctl cat nginx.service |
systemctl? ?show? ?<服務名> | 查看單元的詳細屬性(配置、依賴等) | systemctl show sshd.service |
systemctl? ?list-dependencies? ?<服務名> | 查看<服務名> 依賴的服務 | systemctl list-dependencies? nginx.service |
systemctl? ?list-dependencies --reverse??<服務名> | 查看依賴<服務名> 的服務 | systemctl list-dependencies --reverse nginx.service |
systemctl reboot | 重啟系統 | |
systemctl poweroff | 關機并切斷電源 | |
systemctl halt | 關閉系統(與 poweroff 功能類似) | |
systemctl suspend | 進入休眠(數據存內存,需持續供電) | |
systemctl hibernate | 進入休眠(數據存硬盤,可斷電) | |
systemctl rescue | 進入救援模式(單用戶,用于修復) | |
systemctl emergency | 進入緊急模式(最小環境,極端修復) | |
systemctl get-default?? | 查看當前系統目標 | |
systemctl isolate <目標名>.target | 切換系統目標 | (切換到圖形界面)
|
systemctl set-default <目標名>.target | 設置默認啟動目標 | (設置為多用戶模式) systemctl set-default multi-user.target |
PS:
# 查看系統啟動耗時
systemd-analyze# 查看每個服務啟動的耗時
systemd-analyze blame
3. 常用示例
3.1 部署新服務后,設置開機自啟并啟動
systemctl enable myservice --now
3.2 檢查系統中所有失敗的服務并嘗試修復
systemctl list-units --failed --type=service
systemctl reset-failed # 重置失敗狀態
systemctl restart 失敗的服務名
3.3 查看系統中所有開機自啟的服務
systemctl list-unit-files --type=service | grep enabled
4. 總結
systemctl
是 Linux 系統管理的核心工具,掌握以下技能將極大提升您的效率:
- 服務管理:啟動、停止、重啟、設置開機自啟。
- 單元操作:管理服務、掛載點、定時任務等。
- 運行級別控制:切換?
target
?實現多用戶/圖形界面切換。 - 電源管理:關機、重啟、掛起等操作。
- 故障排查:日志查看、服務調試、自定義服務配置。