📅  最后修改于: 2023-12-03 15:20:26.713000             🧑  作者: Mango
In Linux-Systemen, insbesondere in solchen, die auf Systemd basieren, können Sie mit dem Befehl systemctl
Systemd-Dienste verwalten. Wenn Sie systemctl
ohne weitere Argumente ausführen, werden alle laufenden Dienste aufgelistet. Doch wie kann man alle Dienste anzeigen lassen, auch die, die aktuell nicht laufen? Genau darum geht es in diesem Artikel!
Bevor wir uns dem eigentlichen Problem widmen, ist es wichtig, die Konzepte von Systemd-Diensten und Units zu verstehen. Systemd ist ein init-System, das zusammen mit Systemd-Diensten und Units arbeitet. Ein Systemd-Dienst ist eine eigene Einheit, die von Systemd gestartet und gemanagt wird. Ein Unit ist die Manifestdatei, die einen Dienst oder eine andere Systemd-Einheit beschreibt. Unit-Dateien befinden sich normalerweise im Verzeichnis /etc/systemd/system
.
Um alle Systemd-Dienste anzuzeigen, auch diejenigen, die derzeit nicht ausgeführt werden, nutzen Sie den Befehl systemctl list-unit-files
.
$ systemctl list-unit-files
Diese Ausgabe zeigt alle installierten Unit-Dateien, einschließlich der Service-Dateien. Jede Zeile enthält den Namen einer Unit und ihren aktuellen Status, wenn sie aktiv ist.
Um die Liste der Unit-Files nach einem bestimmten Dienst oder einer bestimmten Dienstgruppe zu filtern, verwenden Sie den Befehl systemctl list-unit-files | grep service
.
$ systemctl list-unit-files | grep service
Dieser Befehl listet nur Systemd-Dienste auf, die mit dem Begriff "service" im Dateinamen gekennzeichnet sind. Alternativ können Sie nach bestimmten Diensten suchen, indem Sie den Namen des Dienstes, den Sie suchen, in den Befehl eingeben.
$ systemctl list-unit-files | grep apache
Dieser Befehl listet alle installierten Systemd-Dienste auf, die den Begriff "apache" in ihrem Namen haben. Achten Sie darauf, dass Dienstnamen normalerweise nicht mit dem Namen der Paketquelle übereinstimmen, also seien Sie kreativ in Ihrer Suche.
In diesem Artikel haben wir erklärt, wie man alle Systemd-Dienste anzeigt, auch die, die derzeit nicht laufen. Der Befehl systemctl list-unit-files
ist der Schlüssel dazu. Außerdem haben wir gesehen, wie man die Ausgabe filtert, um nur bestimmte Systemd-Dienste anzuzeigen. Dies ist besonders nützlich, wenn Sie nach einem bestimmten Dienst suchen oder nur eine bestimmte Gruppe von Diensten anzeigen möchten. Ausführliche Informationen dazu finden Sie in der man
-Seite des Befehls.