GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Die wichtigsten Linux-Befehle für Systemadministratoren

Linux-Betriebssysteme bieten unzählige Sysadmin-Befehle und -Dienstprogramme, die Benutzern, Entwicklern und Ingenieuren bei Systemverwaltungsaufgaben helfen. Beispielsweise können Sysadmin-Befehle und -Pakete Benutzern dabei helfen, Anwendungen zu optimieren oder zu verwalten, und Netzwerkadministratoren oder Systemadministratoren wertvolle Informationen zur Fehlerbehebung liefern.

Diese Befehle gelten für Linux-Entwicklungsumgebungen, VMs, Container und Bare Metal.

Top-Linux-Befehle für Systemadministratoren

Dieser Artikel gibt einen Überblick über einige grundlegende Sysadmin-Befehle, die häufig für die Linux-Systemverwaltung verwendet werden, mit einigen praktischen Beispielen.

1. Locken

Curl ist ein Befehlszeilentool zum Übertragen von Daten von oder zu einem Server. Es unterstützt Protokolle wie FTP, FTPS, HTTP, HTTPS, IMAP, POP3, POP3S, RTMP, SMBS, SMTP, SMTPS, TELNET usw. Sie können damit die Verbindung oder einen Endpunkt zu einem anderen Dienst wie einer Datenbank testen.

Beheben Sie einen HTTP 500-Fehler:

$ curl -I -s my_app:5000

Schließen Sie die Option -I ein, um Header-Informationen anzuzeigen, und die Option -s, um den Antworttext stumm zu schalten.

Überprüfen Sie den Datenbankendpunkt von Ihrem lokalen Host:

$ curl -I -s my_database:27017
HTTP/1.0 200 OK

200 zeigen an, dass Ihre Verbindung in Ordnung zu sein scheint.

$ curl my_database:27017
curl: (6) Couldn't resolve host 'database'

Der Fehler weist darauf hin, dass Ihre App die Datenbank nicht auflösen kann, weil entweder die Datenbank-URL nicht verfügbar ist oder das Hostsystem, der Container oder die VM keinen Nameserver zum Auflösen des Hostnamens hat.

2. ls

Ls listet Dateien in einem Verzeichnis auf oder kann Ihnen helfen, ihre Berechtigungen zu überprüfen. Sie können es auch in einer Containerinfrastruktur verwenden, um das Verzeichnis und die Dateien Ihres Containerimages zu bestimmen. Wenn Sie Ihre Anwendung aufgrund eines Berechtigungsproblems nicht ausführen können, überprüfen Sie die Berechtigungen mit ls -l und erteilen Sie dann die entsprechenden Dateiberechtigungen mit chmod. Sie können es auch mit Flags wie ls -a kombinieren, um alle Dateien aufzulisten, oder ls -R, um Dateien und Verzeichnisse rekursiv aufzulisten.

[tuts@fosslinux dist]$ ls -l
-rwxr-xr-x. 1 tuts tuts 7292656 Jun 17 12:54 hello
[tuts@fosslinux hello]$ ls -R

3. chmod

Verwenden Sie den Befehl chmod, um Berechtigungen für eine Anwendungsbinärdatei oder eine Datei festzulegen. Verwenden Sie zuerst den Befehl ls, um Ihre Dateiberechtigungen zu überprüfen, und erteilen Sie dann die entsprechenden Berechtigungen.

Überprüfen Sie die Dateiberechtigungen mit ls -l:

[tuts@fosslinux ~]$ ls -l
-rw-rw-r--. 1 tuts tuts 6 Jun 24 18:05 dingdong.py

Erteilen Sie Ausführungsberechtigungen für die Datei dingdong.py, damit Benutzer sie ausführen können.

[tuts@fosslinux ~]$ chmod +x dingdong.py
[tuts@fosslinux ~] ls -l
-rwxrwxr-x. 1 tuts tuts 6 Jun 24 18:05 dingdong.py

4. Schwanz

Tail zeigt den letzten Inhalt einer Datei an. Es ist hilfreich, wenn Sie die Protokolle der letzten Anfragen überprüfen möchten. Beispielsweise leiten Sie die neuesten Protokolle an Ihren Server weiter.

$ sudo tail -f /var/log/httpd/error_log

Die Option -f gibt die Protokollzeilen so aus, wie sie in die Datei geschrieben werden. Es verfügt über ein Hintergrundskript, das alle paar Sekunden auf den Endpunkt zugreift, und das Protokoll zeichnet die Anfrage auf. Sie können auch eine bestimmte Anzahl von Zeilen der Datei mit der Option -n abschließen.

$ sudo tail -n 3 /var/log/httpd/error_log

5. grep

Sie können grep verwenden, um Dateien zu durchsuchen, um nach bestimmten Mustern zu suchen und die relevanten Zeilen in der Ausgabe eines anderen Linux-Befehls hervorzuheben. Um beispielsweise in /var/log/dnf.log nach der Zeile „CRITICAL“ zu suchen:

[tuts@fosslinux ~]$ grep CRITICAL Error /var/log/dnf.log

Verwenden Sie *, um in allen Dateien in einem Verzeichnis zu suchen, und das Flag -r (rekursiv), um die Suche in Unterverzeichnissen einzuschließen.

cd /var/log/
$ grep -r CRITICAL Error *

Sie können die Ausgabe auch auf den grep-Befehl isolieren, indem Sie das Ergebnis weiterleiten:

$ cat dnf.log | grep CRITICAL Error

6. ps

Der Befehl ps wird verwendet, um Prozess-IDs zu untersuchen und den Status laufender Prozesse anzuzeigen. Mit diesem Befehl können Sie alle laufenden Anwendungen ermitteln.

[tuts@fosslinux log]$ ps -ef

Sie können es auch mit Pipe- und Grep-Befehlen kombinieren

[tuts@fosslinux log]$ ps -ef | grep httpd

Verwenden Sie das Flag -u, um alle Prozesse anzuzeigen, die dem Benutzernamen gehören:

[tuts@fosslinux log]$ ps -u username

Verwenden Sie das Aux-Flag, um alle Prozesse mit detaillierten Informationen wie PID, Prozentsatz der vom Prozess verwendeten CPU-Zeit (%CPU), Prozentsatz des RAM (%MEM), verwendeter virtueller Speicher (VSZ), physischer Speicher (RSS) anzuzeigen. und so weiter.

7. oben

Der oberste Befehl zeigt eine ständig aktualisierte Liste von Systemprozessen in der Reihenfolge der Prozessaktivität an. Sie können es verwenden, um festzustellen, welche Prozesse ausgeführt werden und wie viel Speicher und CPU sie verbrauchen.

Die Anzeigeinformationen bestehen aus einer Systemzusammenfassung und der nach CPU-Aktivität sortierten Prozesstabelle. Einige Informationen umfassen die Systembetriebszeit, die durchschnittliche Auslastung, den Prozessbesitzer (USER), den Prozentsatz der vom Prozess verwendeten CPU-Zeit (%CPU), den Prozentsatz des vom Prozess verwendeten RAM (%MEM), die vom Prozess verwendete Gesamt-CPU-Zeit (TIME[+ ]) und so weiter.

Sie können auch mehrere Befehle ausführen, während der oberste Befehl ausgeführt wird. Drücken Sie beispielsweise h oder ? um anzuzeigen, welche Befehle Sie eingeben können, k, um einen Prozess zu beenden, z für globale Farben oder q, um top zu beenden.

8. env

Der Befehl env wird verwendet, um Ihre Umgebungsvariablen festzulegen oder anzuzeigen. Verwenden Sie env, um zu prüfen, ob eine falsche Umgebung die Ausführung Ihrer Anwendung verhindert.

$ env
PYTHON_PIP_VERSION=20.2.2
HOME=/root
DB_NAME=my_database
PATH=/usr/local/bin:/usr/local/sbin
LANG=C.UTF-8
PYTHON_VERSION=3.9.5

9. netstat

netstat zeigt den Netzwerkstatus Ihres Systems oder Ihrer Infrastruktur an. Sie können es verwenden, um Netzwerkports und eingehende Verbindungen anzuzeigen. Sie können es mit anderen Optionen wie Protokoll, Port oder Prozess kombinieren, um die aktuellen Ports zu demonstrieren, die Ihre Systemanwendungen verwenden.

# netstat -tulpn

10. ip/ifconfig

Der Befehl ip ersetzt ifconfig in einigen Linux-Distributionen und kann Netzwerkschnittstellen konfigurieren oder anzeigen und IP-Adressen, Nachbarobjekte und Routen ändern. Sie können damit auch die IP-Adresse Ihres Hosts oder Containers überprüfen.

Verwenden Sie „ip a“ (Adresse), um Informationen zu allen Netzwerkschnittstellen anzuzeigen:

[tuts@fosslinux]$ ip a

Verwenden Sie den Befehl „ip link set device_name“, um eine Schnittstelle nach oben oder unten zu bringen:

[tuts@fosslinux]$ ip link set eth0 up #bring up
[tuts@fosslinux]$ ip link set eth0 down #bring down

11. df

Verwenden Sie den Befehl df (Display Free Disk Space), um die Größe des Dateisystems zu überprüfen und Probleme mit dem Speicherplatz zu beheben. Dies ist hilfreich, wenn Sie eine Fehlermeldung erhalten, die auf einen Mangel an freiem Speicherplatz in Ihrem System auf einem Containerhost hinweist.

[tuts@fosslinux ~]$ df -h

Das Flag -h zeigt die Informationen in einem für Menschen lesbaren Format an (d. h. MB und GB). Standardmäßig zeigt der Befehl df Ergebnisse für jeden Benutzer im Stammverzeichnis an. Sie können die Anzeige jedoch auf ein bestimmtes Verzeichnis beschränken (z. B. df -h/tmp)

Verwenden Sie das Flag -x, um jedes Dateisystem zu ignorieren:

[tuts@fosslinux ]$ df -h -x tmpfs

Verwenden Sie das Flag -t, um nur bestimmte Dateisystemtypen aufzulisten. Beispiel:Btrfs-Dateisystem nur zum Anzeigen:

[tuts@fosslinux ]$ df -h -t btrfs

Verwenden Sie das Flag –total, um Gesamtsummen anzuzeigen:

[tuts@fosslinux ]$ df -h -t btrfs --total

12. du

Verwenden Sie den Befehl du, um detaillierte Informationen darüber anzuzeigen, welche Dateien den Speicherplatz in einem Verzeichnis belegen. Ich finde es hilfreich, um festzustellen, welche Protokolle den meisten Speicherplatz beanspruchen. Führen Sie beispielsweise den Befehl du mit den Flags -h (für Menschen lesbar) und -s (Zusammenfassung) aus:

[tuts@fosslinux ~]$ sudo du -h /var/log
[tuts@fosslinux ~]$ sudo du -hs /var/log
1.5G /var/log

13. dig/nslookup

dig ist ein großartiges Befehlszeilentool zum Ausführen von DNS-Abfragen. Es wird im folgenden Format verwendet:

dig <DNS server> <domain> <query-type>

Der steht für den Namen des DNS-Servers, ist der Domänenname und ist der Eintragsname (A, MX, NS SOA), den Sie wissen möchten. Sie können auch das +short-Flag verwenden, um die ausführliche Ausgabe zu unterdrücken.
So zeigen Sie den A-Eintrag für bing.com an:

[tuts@fosslinux ~]$ dig bing.com +short
13.107.21.200
204.79.197.200

So zeigen Sie den MX-Eintrag von bing.com an:

[tuts@fosslinux ~]$ dig bing.com MX +short
10 bing-com.mail.protection.outlook.com.

14. Firewall-Befehl

Firewall-cmd ist ein benutzerfreundliches Frontend für nftables und wird mit vielen Distributionen ausgeliefert. Es ermöglicht Benutzern, Regeln einzurichten, um sowohl den ausgehenden als auch den eingehenden Netzwerkverkehr zu Ihrem Computer zu regeln. Diese Regeln können in Zonen gruppiert werden, die Netzwerksicherheits-Vertrauensstufen von Netzwerkschnittstellen, Diensten oder Verbindungen definieren. Es funktioniert mit IPv4, IPv6, IP-Sets und Ethernet-Bridges und verfügt über eine unkomplizierte und intuitive Befehlssyntax.

So zeigen Sie die aktuelle Firewalld-Zone an:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-active-zones
libvirt
interfaces: virbr0

Fügen Sie das Flag –list-all hinzu, um anzuzeigen, was jede Zone zulässt:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone libvirt --list-all

So fügen Sie einen Dienst hinzu:

$ sudo firewall-cmd --add-service http --permanent
$ sudo firewall-cmd –reload

Wenn Sie mit Netzwerksicherheit beginnen, können Sie unsere umfassende Anleitung zum Verwalten der Netzwerksicherheit mit Firewalld für weitere Beispiele und Tricks lesen.

15. systemctl

systemd ist in den meisten Linux-Distributionen verfügbar, sodass der Befehl systemctl verfügbar ist, um systemd-Dienste und -Units zu verwalten.

So starten Sie einen Dienst:

[tuts@fosslinux ~]$ sudo systemctl start httpd

So beenden Sie einen Dienst:

[tuts@fosslinux ~]$ sudo systemctl stop httpd

So überprüfen Sie den Dienststatus.

16. kill und killall

Sie können die Befehle kill und killall verwenden, um einen außer Kontrolle geratenen Prozess zu beenden oder einige Systemressourcen freizugeben. Sie können entweder das Signal SIGTERM (-15) oder SIGKILL (-9) an einen Prozess senden, um den Prozess zu beenden. SIGTERM (Soft Kill) ermöglicht es, einen Systemprozess abzuschließen, bevor er beendet wird. SIGKILL beendet den Vorgang sofort.

Verwenden Sie kill mit dem Flag -l, um alle Signale anzuzeigen, die Sie an einen Prozess senden können.

[tuts@fosslinux ~]$ kill -l

Um einen Prozess zu beenden, bestimmen Sie seine Prozess-ID und geben Sie dann den Kill-Befehl ein.

[tuts@fosslinux ~]$ ps aux|grep httpd

So beenden Sie den httpd-Prozess mit der Prozess-ID 1525:

[tuts@fosslinux ~]$ sudo kill -9 1525

Verwenden Sie killall, um ein Programm nach Namen zu beenden. Es beendet den übergeordneten Prozess und alle untergeordneten Prozesse.

[tuts@fosslinux ~]$ sudo killall httpd

Hinweis:Verwenden Sie die Befehle kill und killall mit Vorsicht, da sie Ihr System beschädigen oder in einen instabilen Zustand versetzen könnten.

17. Geschichte

Der Verlaufsbefehl zeigt einen Verlauf aller Befehle, die Sie in einer Sitzung verwendet haben. Beispielsweise können Sie damit die Befehle protokollieren, die Sie zur Fehlerbehebung einer Anwendung oder Ihres Systems verwendet haben.

[tuts@fosslinux ~]$ history
790 sudo firewall-cmd --get-active-zones
791 sudo firewall-cmd --zone libvirt --list-all
792 history

Benutzen ! mit einer Befehlsnummer, um es erneut auszuführen, ohne es erneut eingeben zu müssen.

[tuts@fosslinux ~]$ !790
sudo firewall-cmd --get-active-zones
libvirt
interfaces: virbr0

Abschluss

Das Verständnis einiger grundlegender Sysadmin-Befehle kann Ihnen dabei helfen, Anwendungen zu beheben, Probleme zu lösen, Systeme optimal laufen zu lassen, die Systemsicherheit zu gewährleisten oder Ihnen sogar dabei zu helfen, effektiv mit Sysadmins zu kommunizieren, um Probleme in Ihrer Infrastruktur zu lösen.
Ich hoffe, diese Befehle werden sich als nützlich erweisen!


Linux
  1. 10 Linux-Befehle für die Netzwerkdiagnose

  2. Schulung und Zertifizierung für Linux-Systemadministratoren

  3. Top 10 Tutorials für Linux-Administratoren

  4. 3 Nützliche Linux-Befehle für Systemadministratoren

  5. Die wichtigsten grundlegenden Linux-Befehle für Anfänger

Top 15 der besten Chemie-Tools für Linux-Systeme

Top 15 der besten Biologie-Tools für Linux-Systeme

Top 15 der besten Übersetzungssoftware für Linux-Systeme

Top 10 der besten Farbauswahl-Tools für Linux-Systeme

Top 10 der besten Scan-Tools für Linux-Systeme

Top 10 der besten Wetter-Tools für Linux-Systeme