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

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 5

Dies ist der letzte Teil der fünfteiligen Serie mit dem Titel:Von Linux-Systemadministratoren häufig verwendete Linux-Befehle . Bisher haben wir über 50 Befehle behandelt, die regelmäßig von Linux-Systemadministratoren und Power-Usern verwendet werden. Siehe Teil 1, Teil 2, Teil 3 und Teil 4.

Dieser Artikel befasst sich mit einem anderen Satz von Befehlen und Befehlszeilentools, die häufig zum Bearbeiten von Textdateien, Anzeigen von Dateiinhalten, Systemdiagnosen, Beenden von Prozessen und anderen Verwaltungsaufgaben verwendet werden, die auf Linux-Systemen ausgeführt werden. Später werde ich auch eine weitere Seite erstellen, um alle fünf Teile miteinander zu verknüpfen und alle behandelten Befehle zusammenzufassen.

Ob Sie ein Linux-Desktop-Power-User oder ein erfahrener Linux-Systemadministrator sind,
Sie werden feststellen, dass Sie diese Befehle häufig verwenden. (Teil 5 von 5)

Im Laufe der Jahre habe ich festgestellt, dass es oft mehr als einen Weg gibt, Dinge unter Linux zu erreichen. Ich würde zum Beispiel eine Möglichkeit lernen, eine Aufgabe auszuführen, um später herauszufinden, dass es eine effizientere Möglichkeit gibt, dieselbe Aufgabe zu erfüllen. Beginnen wir mit einem solchen Fall.

1. vi – Texteditor.


Vim-Editor zum Bearbeiten meiner i3-Konfigurationsdatei verwenden.

Wenn Sie zum ersten Mal mit Linux beginnen, neigen Sie normalerweise dazu, nano zu verwenden . Dies liegt daran, dass der erste Versuch, Textdateien zu bearbeiten, für neue Benutzer häufig während der Systemeinrichtung erfolgt. Sie öffnen also vi zum ersten Mal, ohne jegliche Erfahrung und in der Regel mit dem Wunsch, Bearbeitungen so schnell wie möglich abzuschließen, um Ihr neues System weiter zu erkunden. Daher können Sie die Verwendung von vi aufgeben und sich stattdessen dafür entscheiden, Ihre Änderungen in einem einfacheren Texteditor, nano, vorzunehmen. Im Laufe der Zeit werden jedoch viele von uns irgendwann von nano (oder anderen GUI-Texteditoren) zu vi, vim oder neovim wechseln.

Wenn Sie es noch nicht getan haben, empfehle ich dringend, vim zu geben ein Versuch! Machen Sie es sich zum Ziel, die ersten zehn oder so wichtigen Vim-Operationsbefehle zu lernen. (Hier ist ein vim-Cheatsheet.)

2. cat – Dateiinhalt anzeigen.

Die cat Befehl, abgeleitet vom Wort concat enate, ermöglicht es Ihnen, den Inhalt einer Datei anzuzeigen, ohne die besagte Datei zu öffnen. Der cat-Befehl kann auch verwendet werden, um den Inhalt von Textdateien in andere Dateien umzuleiten oder neue Textdateien zu erstellen. Hier sind einige Beispiele für die Verwendung von cat .

Um den Inhalt einer Datei auf der Standardausgabe auszugeben, verwenden Sie:

cat file_name

Um mehrere Dateien zu einer Zieldatei zu verketten, verwenden Sie:

cat file_name1 file_name2 > file_name

Mehrere Dateien an die Zieldatei anhängen:

cat file_name1 file_name2 >> file_name

Um die Zeilennummer in der Ausgabe anzuzeigen, verwenden Sie ‘-n ‘.

tac – Dateiinhalt in umgekehrter Reihenfolge ausgeben.

Um Dateien in umgekehrter Reihenfolge zu drucken und zu verketten, verwenden Sie:

tac file_name

Um die Ausgabe eines Befehls umgekehrt auszugeben, verwenden Sie:

command | tac

3. more – Dateiinhalte bildschirm-/seitenweise anzeigen.

Wie die cat Befehl, der den Inhalt einer Textdatei anzeigen kann, der more Der Befehl zeigt auch den Inhalt einer Textdatei an. Der Hauptunterschied besteht darin, dass in größeren Dateien die cat Der Befehl zeigt den gesamten Inhalt der Datei an, egal wie lange, während der Befehl more Der Befehl zeigt seine Ausgabe bildschirm- oder seitenweise an.

Dadurch können Sie die Ausgabe in einem leichter verständlichen Format durchblättern, was für Fehlerprotokolle und andere solche Dateien nützlich ist, die Tausende von Zeilen lang werden können.

Um eine Datei zu öffnen, mit more verwenden:

more file_name

Sie können die Anzahl der Zeilen festlegen, die jede Seite enthalten soll, indem Sie:

verwenden
more -10 file_name

Sie können weitere Ausgaben ab einer bestimmten Zeilennummer starten mit:

more +20 file_name

Sie können den more-Befehl mit cat verwenden , zum Beispiel:

cat file_name | more

— Um nach unten zu blättern, verwenden Sie die bar.
— Um nach einer Zeichenfolge zu suchen, geben Sie ‘/yourquery’ ein .

less – ähnlich dem Befehl more mit zusätzlichen Funktionen.


weniger Ausgabe von Pacmans Protokolldatei.

Das bringt uns zu less . Denken Sie an das Sprichwort:„Weniger ist mehr“ ? Dies ist ein klassisches Beispiel dafür. Ähnlich wie mehr, das weniger Mit dem Befehl können Sie Dateiinhalte anzeigen und darin navigieren. Das A Befehl ist schneller als das B Befehl, da vor dem Start nicht die vollständige Datei geladen werden muss. Es bietet auch bidirektionale Navigation mit der Seite nach oben/unten und Pfeil nach oben/unten Tasten.

Kurz gesagt, mehr ist weniger benutzerfreundlich, während weniger ist benutzerfreundlicher. Aus diesem Grund und wegen seiner Geschwindigkeit und zusätzlichen Funktionen sollte in den meisten Fällen weniger Befehl Ihre bevorzugte Wahl sein.

Um eine Datei mit less zu öffnen verwenden:

less file_name

— Um nach einer Zeichenfolge zu suchen, geben Sie /yourquery ein drücken Sie dann n um zum nächsten Spiel zu gehen oder N um zum vorherigen Spiel zu gehen.

— Um nach einer Zeichenfolge rückwärts zu suchen, geben Sie ?yourquery ein .

— Um zum Ende der Datei zu gehen, verwenden Sie G , und verwenden Sie g zum Start gehen.

— Um die Ausgabe der aktuell geöffneten Datei zu verfolgen, verwenden Sie F . (ähnlich dem tail Befehl wird als nächstes besprochen).

— Um die aktuelle Datei in einem Editor zu öffnen, verwenden Sie v .

Schauen Sie sich diesen Spickzettel für weniger Befehle an.

4. tail – Wird verwendet, um das Ende einer Textdatei oder geleitete Daten anzuzeigen.

Der tail command ist ein Befehlszeilendienstprogramm, das verwendet wird, um das Ende von Textdateien anzuzeigen. Standardmäßig gibt der tail-Befehl die letzten zehn (10) Zeilen einer Datei zurück. Mit dem Tail können Sie einer Datei auch in Echtzeit folgen Befehl, was ihn perfekt zum Beobachten von Protokolldateien macht, wenn neue Zeilen gespeichert werden.

Um das letzte x anzuzeigen Anzahl Zeilen in einer Datei, verwenden Sie:

tail -n x file_name

Um alle Zeilen seit Zeilennummer x anzuzeigen :

tail -n +x file_name

Um das letzte x anzuzeigen Bytes einer Datei, verwenden Sie:

tail -c x file_name

Um eine Datei in Echtzeit anzusehen (Strg + C zum Stoppen), verwenden Sie:
(oder ‘-F ‘ um weiterzulesen, auch wenn die Datei gedreht wird)

tail -f file_name

Um das letzte x anzuzeigen Zeilen in einer Datei und aktualisieren Sie alle x Sekunden, verwenden Sie:

tail -n x -s x -f file

Zum Beispiel:

tail -n 25 -s 5 -f /var/log/nginx/access.log

5. dmesg – druckt den Nachrichtenpuffer des Kernelrings.


$ sudo dmesg –color=always | weniger -R

Der Kernel-Ringpuffer ist eine Datenstruktur, die Systemmeldungen aufzeichnet, die mit dem Betrieb des Kernels verbunden sind. Wie der Name schon sagt, bleibt dieser Puffer immer auf einer konstanten Größe, wobei die ältesten Nachrichten entfernt werden, wenn neue Nachrichten eingehen.

Auf verschiedenen Unix-ähnlichen Systemen, einschließlich Linux, erzeugt der Boot-Prozess eine sehr dichte Ausgabe von Kernel-Meldungen. Häufig beginnt die Systemdiagnose, wie z. B. bei fehlerhafter Hardware, mit der Überprüfung der Kernel-Protokolle. Mit Dmesg können Sie Hardwaregeräte- und Treibermeldungen aus dem eigenen Ringpuffer des Kernels überprüfen und überwachen. Das macht dmesg sehr nützlich für die Fehlersuche.

Zur Fehlerbehebung in Echtzeit können Sie beispielsweise Folgendes verwenden:

dmesg --follow

Dies funktioniert ähnlich wie beim tail Befehl. Nachdem Sie den obigen Befehl ausgeführt haben, können Sie USB-Geräte ein- und ausstecken, eine Verbindung zu WLAN oder Ethernet herstellen und andere Hardwaregeräte, die Sie beheben möchten.

Um nur Fehler- und Warnmeldungen anzuzeigen, verwenden Sie:

dmesg --level=err,warn

Um eine vollständige Liste der USB-bezogenen Meldungen anzuzeigen, geben Sie dmesg ein Befehl mit grep für „USB“:

dmesg | grep -i usb

Nützliche Lektüre:dmesg erklärt.

journalctl – Abfrage des systemd-Journals.

Systemd hat ein eigenes Protokollierungssystem namens Journal . Um diese Protokolle zu lesen, wird journalctl verwendet. Zum Beispiel, um nur Kernel-Meldungen mit journalctl anzuzeigen Sie können das -k hinzufügen oder –dmesg Flags zu Ihrem Befehl:

journalctl -dmesg

Das Journal (journald) speichert Protokolldaten im Binärformat, im Gegensatz zu früheren Diensten, die Protokolle im Klartext speicherten. Als solches journalctl wird verwendet, um Binärprotokolle in lesbaren Klartext umzuwandeln. Sehen Sie sich die ultimative Anleitung zur Verwendung von journalctl an.

Eine weitere gute Lektüre ist kmsg. Kmsg (/dev/kmsg) ist eine im Linux-Dateisystem gespeicherte Datei, die zum Speichern von Nachrichten vom Kernel verwendet wird und von dmesg und klogd verwendet wird.

6. kill – einen Prozess beenden.

Manchmal müssen Sie die Ausführung einer Anwendung oder eines Befehlszeilenprozesses stoppen. Dafür bieten Unix-ähnliche Systeme wie Linux das Kommandozeilentool namens kill an . Der Kill-Befehl wurde teilweise im Artikel How to Kill Inactive SSH Sessions behandelt. Der erste Schritt besteht darin, die PID (Prozess-ID) des Prozesses zu finden, den Sie beenden möchten. Dazu können Sie top, htop, ps, pstree und andere Tools verwenden, um die PID zu finden, die Sie stoppen möchten.

Um alle verfügbaren Kill-Signale aufzulisten, verwenden Sie:

kill -l

[hydn@alien ~]$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
...

Wenn Sie beispielsweise einen hängengebliebenen Prozess (9 SIGKILL) mit der PID 3649 beenden möchten, können Sie den folgenden Befehl verwenden:

kill 3649

oder

kill sigkill 3649

oder

kill -9 3649

Kill-Befehl-Spickzettel.

killall – Sendet ein Kill-Signal an alle Instanzen eines Prozesses mit Namen.

Verfügbare Signalnamen auflisten (ohne das Präfix „SIG“ zu verwenden):

killall --list

Um einen Prozess mit dem Standardsignal SIGTERM (terminate) zu beenden, verwenden Sie:

killall process_name

Um vor der Beendigung interaktiv nach einer Bestätigung zu fragen, verwenden Sie:

killall -i process_name

Um das Beenden eines Prozesses zu erzwingen, verwenden Sie:

killall -KILL process_name

7. sleep – Unterbricht die Programmausführung für eine bestimmte Zeit.

sleep pausiert für eine Zeitdauer, die durch Werte in den Befehlszeilenargumenten angegeben wird.

Syntax:

sleep NUMBER[SUFFIX]

Es gibt Hunderte von nützlichen Möglichkeiten, Schlaf zu nutzen. Sie können es überall dort einsetzen, wo Sie eine zeitgesteuerte Verzögerung benötigen. Beispielsweise können Sie während des Bootens den Start bestimmter Prozesse mit „sleep“ verzögern, Sie können „sleep“ verwenden, um einen Befehl nach einer bestimmten Zeitverzögerung auszuführen, Sie können „sleep“ für eine Verzögerung verwenden und eine Verzögerung zwischen ressourcenintensiven Skripts hinzufügen oder Aufgaben usw. usw. Der Standardzeitwert ist in Sekunden, aber Sie können auch 'm verwenden ‘ für Minuten, ‘h “ für Stunden und „d ' für Tage. Denken Sie daran; außerdem haben wir cron behandelt in Teil 3.

Siehe auch wait Befehl.

8. nohup – Befehle im Hintergrund ausführen.

nohup , ist die Abkürzung für keine Aufhänger . Wenn Sie das Terminal oder eine Remote-SSH-Sitzung verlassen, werden normalerweise auch die von uns initiierten Befehlszeilenprozesse beendet. Der Befehl nohup ist eine bequeme Lösung, um Prozesse im Hintergrund laufen zu lassen, selbst wenn Sie das Terminal verlassen oder sich von einer entfernten SSH-Sitzung abmelden.

Befehlssyntax:

nohup [command] [options]

Hier ist ein Beispiel:

[root@host ~]# nohup ./backup.sh 
nohup: ignoring input and appending output to ‘nohup.out’
[root@host ~]#

Standardmäßig speichert nohup die Ausgabe unter nohup.out . Wenn Sie diese Ausgabe stoppen möchten, verwenden Sie:

nohup ./backup.sh >/dev/null 2>&1 &

screen – Halten Sie eine Sitzung auf einem Remote-Server offen. (auch ein Vollbild-Fenstermanager)

Als Alternative zu nohup , können Sie screen verwenden . Screen ist ein Terminal-Multiplexer (der verwendet wird, um mehrere virtuelle Konsolen zu multiplexen), der es Benutzern ermöglicht, auf separate Anmeldesitzungen innerhalb eines einzigen Terminalfensters zuzugreifen oder Sitzungen von einem Terminal zu trennen und wieder zu verbinden.

Lernbildschirm:

  • Bildschirmhandbuch.
  • Bildschirmhandbuch (pdf)
  • Überprüfen Sie den Spickzettel.
  • Bildschirm-Schnellreferenz.

Siehe auch tmux .

9. passwd – das Passwort eines Benutzers ändern.

Dies ist ein Befehl, den wir verwenden sollten, um Passwörter häufig zu ändern. Das passwd Der Befehl wird verwendet, um das Passwort eines Benutzers zu ändern. Das eingegebene Passwort wird von einer Schlüsselableitungsfunktion verwendet, um eine gehashte Version des neuen Passworts zu erstellen. Nur das gehashte Passwort wird gespeichert; das Klartextpasswort wird nicht gespeichert.

Um das Passwort des aktuellen Benutzers interaktiv zu ändern, verwenden Sie:

passwd

Um das Passwort des aktuellen Benutzers sofort zu ändern, verwenden Sie:

passwd new_password

Um das Passwort des angegebenen Benutzers zu ändern, verwenden Sie:

passwd username new_password

Um den aktuellen Passwortstatus/Datum des Benutzers zu erhalten, verwenden Sie:

passwd -S

Siehe auch chpassword .

10. mount – bietet Zugriff auf ein ganzes Dateisystem in einem Verzeichnis.

Der mount Der Befehl weist das Linux-Betriebssystem an, dass ein Dateisystem einsatzbereit ist, ordnet es einem bestimmten „Einhängepunkt“ im Dateisystem zu und legt Optionen für seinen Zugriff fest. Durch das Mounten werden Dateisysteme, Dateien, Verzeichnisse und Geräte zur Verwendung verfügbar.

Um alle gemounteten Dateisysteme anzuzeigen, verwenden Sie:

mount

Um das gesamte in /etc/fstab definierte Dateisystem einzuhängen , verwenden Sie:

mount -a

Mount- und Mount-Befehle lernen:

  • Mounten eines Dateisystems – Redhat

Siehe auch umount .

Zusätzliche häufig verwendete Linux-Befehle, die in den Teilen 1–5 nicht behandelt werden:

  • systemctl – Dienste verwalten (Daemons) | Systeme verstehen und verwalten.
  • clear – löscht den Bildschirm des Terminals.
  • env -Führen Sie einen Befehl in einer modifizierten Umgebung aus.
  • Ihre Vorschläge hier (über Kommentare hinzufügen).

Schlussfolgerung

Mehr als 80 Befehle wurden in diese Serie aufgenommen! Etwa die Hälfte der oben in Teil 5 dieser Serie aufgeführten Befehle enthält alternative Befehle. Das ist es, was Linux wirklich spannend macht, es stehen oft viele Optionen zur Verfügung, um die gleichen Aufgaben auszuführen. Dies ermöglicht es uns, dass Sie sich mit der Linux-Distribution Ihrer Wahl wirklich, wirklich wohlfühlen, wenn auch unsere bevorzugte Linux-Desktop-Distribution oder bevorzugte Linux-Server-Distribution.

Als Nächstes werde ich eine weitere Reihe von Artikeln veröffentlichen, die sich auf zusätzliche Befehle, Linux-Tipps und die Linux-Leistung beziehen. Wenn Ihnen Artikel wie diese gefallen, abonnieren und teilen Sie sie bitte. Danke!


Linux
  1. 40 häufig verwendete grundlegende Linux-Befehle

  2. Wichtige Linux-Befehle, Podman unter Windows ausführen und weitere Tipps für Systemadministratoren

  3. Linux – Dateisynchronisierung in Echtzeit?

  4. mehr Befehlsbeispiele in Linux

  5. Warum wird select unter Linux verwendet

40 nützliche Linux-Netzwerkbefehle für moderne SysAdmins

90 Linux-Befehle, die häufig von Linux-Systemadministratoren verwendet werden

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 4

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 3

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 2

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 1