`systemctl`命令是在使用Systemd初始化系統的Linux發行版(如CentOS 7及以上版本)中用于管理系統服務和資源的一個關鍵工具。Systemd作為系統和服務管理器,取代了傳統的init系統,提供了更加靈活和強大的方式來管理Linux系統和背景進程。`systemctl`命令的基本用途包括但不限于以下幾點:
1. 啟動/停止/重啟服務: 通過`systemctl`可以方便地對系統中的服務執行啟動、停止、重啟等操作。例如,`systemctl start nginx`會啟動Nginx服務。
2. 查看服務狀態: 通過`systemctl status <服務名>`命令可以查看指定服務的當前狀態,包括是否正在運行、最近的日志條目等。
3. 使服務在系統引導時自動啟動或禁用: `systemctl enable <服務名>`會將服務設置為開機自啟,而`systemctl disable <服務名>`則會取消其開機自啟動的設置。
4. 重新加載服務配置: 如果服務的配置文件被修改,可以通過`systemctl reload <服務名>`來重新加載配置,無需重啟服務就能應用新的配置。
5. 查看系統狀態和服務列表: `systemctl`可以用來查看系統整體運行狀態(`systemctl status`)或列出所有已安裝的服務(`systemctl list-units --type=service`)。
6. 控制target單位: Systemd引入了“target”概念,相當于傳統init系統中的運行級別。通過`systemctl`可以管理這些target,實現不同的系統運行狀態。
7. 管理用戶會話: 除了管理系統服務之外,`systemctl`還能管理用戶級別的服務(即使用"systemctl --user"命令)。
8. 屏蔽服務: 如果不希望某個服務被啟動,甚至通過依賴關系被其他服務啟動,可以使用`systemctl mask <服務名>`來實現。被屏蔽的服務無法被啟動,直到它被"unmask"。
9. 重啟整個系統或關機: `systemctl`也可用于控制系統電源狀態,如重啟(`systemctl reboot`)或關機(`systemctl poweroff`)。
10. 查看日志: 雖然通常使用`journalctl`命令來查看系統日志,但與`systemctl`結合使用時,可以直接查看特定服務的最新日志信息。