Zugriff auf die Befehlszeile in Red Hat Enterprise Linux

LinuxBeginner
Jetzt üben

Einführung

In diesem Lab begeben Sie sich auf eine grundlegende Entdeckungsreise in die Welt der Linux-Befehlszeilenoperationen, speziell innerhalb einer Red Hat Enterprise Linux (RHEL)-Umgebung. Sie erhalten praktische Erfahrung mit wichtigen Befehlen zur Ermittlung von Benutzer- und Systeminformationen, zur Verwaltung von Benutzerpasswörtern und zur Untersuchung verschiedener Dateitypen.

Durch praktische Übungen lernen Sie, Dateiinhalte mit cat, head und tail anzuzeigen, Dateistatistiken zu zählen und effizient durch Ihren Befehlsverlauf zu navigieren. Darüber hinaus werden Sie entscheidende Tastenkombinationen für die Befehlszeilenbearbeitung beherrschen, wodurch sich Ihre Produktivität und Ihr Können bei der Verwaltung von Linux-Systemen verbessern.

Benutzer und Systemzeit ermitteln

In diesem Schritt lernen Sie, wie Sie den aktuell am System angemeldeten Benutzer ermitteln und wie Sie das aktuelle Datum sowie die Uhrzeit des Systems mithilfe einfacher Linux-Befehle anzeigen. Das Verständnis dieser grundlegenden Befehle ist für die Navigation und Verwaltung jeder Linux-Umgebung unerlässlich.

Finden wir zunächst heraus, als welcher Benutzer Sie aktuell angemeldet sind. Der Befehl whoami wird für diesen Zweck verwendet. Er gibt den effektiven Benutzernamen des aktuellen Benutzers aus.

Geben Sie den folgenden Befehl in Ihr Terminal ein:

whoami

Screenshot der Ausgabe des whoami-Befehls

Als Ausgabe sollten Sie labex sehen, was anzeigt, dass Sie als Benutzer labex angemeldet sind.

labex

Als Nächstes werden wir den Befehl date erkunden. Dieser Befehl wird verwendet, um das Systemdatum und die Systemuhrzeit anzuzeigen oder einzustellen. Wenn er ohne Optionen verwendet wird, zeigt er das aktuelle Datum und die Uhrzeit in einem Standardformat an.

Führen Sie den Befehl date aus:

date

Die Ausgabe zeigt den aktuellen Wochentag, Monat, Tag des Monats, Uhrzeit (HH:MM:SS), Zeitzone und das Jahr. Die genaue Ausgabe variiert je nachdem, wann Sie den Befehl ausführen.

Mon Jul 22 10:30:45 AM UTC 2024

Der Befehl date ist sehr flexibel und ermöglicht es Ihnen, die Ausgabe mithilfe von Formatangaben auf verschiedene Weise zu formatieren. Um beispielsweise nur die aktuelle Uhrzeit im 24-Stunden-Format (HH:MM) anzuzeigen, können Sie +%R verwenden.

Versuchen Sie, nur die Uhrzeit anzuzeigen:

date +%R

Die Ausgabe sieht ähnlich aus wie:

10:30

Um nur das aktuelle Datum im Format MM/TT/JJJJ anzuzeigen, können Sie +%x verwenden.

Versuchen Sie, nur das Datum anzuzeigen:

date +%x

Die Ausgabe sieht ähnlich aus wie:

07/22/2024

Schließlich können Sie mehrere Befehle in einer einzigen Zeile ausführen, indem Sie sie durch ein Semikolon (;) trennen. Dies kann nützlich sein, um schnell eine Sequenz von Befehlen auszuführen.

Versuchen wir, whoami und date in derselben Zeile auszuführen:

whoami; date

Sie sehen die Ausgabe beider Befehle nacheinander:

labex
Mon Jul 22 10:30:45 AM UTC 2024

Screenshot der Ausgabe der Befehle whoami und date

Benutzerpasswörter verwalten und Dateitypen anzeigen

In diesem Schritt lernen Sie, wie Sie das Passwort eines Benutzers ändern und wie Sie den Typ einer Datei mit dem Befehl file bestimmen. Das Verständnis von Dateitypen ist unerlässlich für die Arbeit mit verschiedenen Datenformaten und ausführbaren Dateien unter Linux.

Lassen Sie uns zunächst beobachten, wie eine Passwortänderung beginnt, ohne das Standardpasswort des Labs zu ändern. Der Befehl passwd wird verwendet, um Benutzerpasswörter zu ändern. Für den Benutzer labex fordert er zur Eingabe des aktuellen Passworts und anschließend eines neuen Passworts auf. Das aktuelle Passwort lautet labex.

Geben Sie den folgenden Befehl in Ihr Terminal ein:

passwd

Geben Sie an der Aufforderung für das aktuelle Passwort labex ein und drücken Sie die Eingabetaste. Wenn die Aufforderung für das neue Passwort erscheint, drücken Sie Strg+C, um den Befehl abzubrechen und zur Shell zurückzukehren. Geben Sie kein neues Passwort ein.

Changing password for user labex.
Current password:
New password: ^C

Hinweis: Wenn Sie Passwörter unter Linux eingeben, wird aus Sicherheitsgründen nichts auf dem Bildschirm angezeigt. Dies ist ein normales Verhalten und bedeutet nicht, dass die VM nicht reagiert. Das System empfängt Ihre Eingabe weiterhin, auch wenn Sie die getippten Zeichen nicht sehen können.

Als Nächstes werden wir den Befehl file erkunden. Dieser Befehl bestimmt den Typ einer Datei. Er ist sehr nützlich, um zu verstehen, welche Art von Daten eine Datei enthält, insbesondere wenn die Dateiendung fehlt oder irreführend ist.

Lassen Sie uns den Typ der Datei /etc/passwd untersuchen. Diese Datei enthält Informationen über alle Benutzerkonten auf dem System.

file /etc/passwd

Die Ausgabe zeigt an, dass es sich bei /etc/passwd um eine ASCII-Textdatei handelt.

/etc/passwd: ASCII text

Überprüfen wir nun den Typ einer ausführbaren Datei, wie zum Beispiel /bin/bash, dem Shell-Programm, das Sie derzeit verwenden.

file /bin/bash

Die Ausgabe zeigt, dass /bin/bash eine ausführbare Datei ist, zusammen mit Details zu ihrer Architektur und anderen Eigenschaften.

/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=<omitted>, for GNU/Linux <omitted>, stripped

Schließlich wollen wir den Typ eines Verzeichnisses bestimmen. Wir verwenden das Verzeichnis /home als Beispiel.

file /home

Die Ausgabe gibt einfach an, dass es sich bei /home um ein Verzeichnis handelt.

/home: directory

Diese Beispiele zeigen, wie der Befehl file Ihnen helfen kann, die Beschaffenheit verschiedener Dateien und Verzeichnisse auf Ihrem Linux-System schnell zu erkennen.

Dateinhalte mit cat, head und tail untersuchen

In diesem Schritt lernen Sie, wie Sie den Inhalt von Textdateien mithilfe von drei wesentlichen Linux-Befehlen untersuchen: cat, head und tail. Diese Befehle sind grundlegend für das Anzeigen von Dateinhalten, insbesondere von Konfigurations- und Protokolldateien (Log-Dateien).

Verwenden wir zunächst den Befehl cat. Der Befehl cat (Kurzform für concatenate / verketten) wird primär verwendet, um den Inhalt von Dateien anzuzeigen. Er kann auch verwendet werden, um mehrere Dateien zu einer einzigen zusammenzufügen.

Lassen Sie uns den gesamten Inhalt der Datei /etc/passwd anzeigen. Diese Datei enthält Informationen zu Benutzerkonten.

cat /etc/passwd

Sie sehen den vollständigen Inhalt der Datei /etc/passwd in Ihrem Terminal ausgegeben. Die Ausgabe ist umfangreich und zeigt alle Benutzereinträge.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...output omitted...

Erstellen wir nun zwei einfache Textdateien in Ihrem Verzeichnis ~/project, um cat mit mehreren Dateien zu demonstrieren.

Erstellen Sie file1.txt:

echo "Hello World!!" > ~/project/file1.txt

Erstellen Sie file2.txt:

echo "Introduction to Linux commands." > ~/project/file2.txt

Verwenden Sie nun cat, um den Inhalt beider Dateien anzuzeigen:

cat ~/project/file1.txt ~/project/file2.txt

Die Ausgabe zeigt den Inhalt von file1.txt gefolgt von file2.txt.

Hello World!!
Introduction to Linux commands.

Als Nächstes verwenden wir den Befehl head. Der Befehl head zeigt die ersten Zeilen einer Datei an. Standardmäßig werden die ersten 10 Zeilen angezeigt.

Lassen Sie uns die ersten 10 Zeilen von /etc/passwd anzeigen:

head /etc/passwd

Sie sehen die ersten 10 Zeilen der Datei /etc/passwd.

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

Sie können die Anzahl der anzuzeigenden Zeilen über die Option -n angeben. Um beispielsweise die ersten 3 Zeilen anzuzeigen:

head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

Verwenden wir abschließend den Befehl tail. Der Befehl tail zeigt die letzten Zeilen einer Datei an. Standardmäßig werden auch hier die letzten 10 Zeilen angezeigt.

Lassen Sie uns die letzten 10 Zeilen von /etc/passwd anzeigen:

tail /etc/passwd

Sie sehen die letzten 10 Zeilen der Datei /etc/passwd.

systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:998:996:systemd Resolver:/:/sbin/nologin
systemd-network:x:997:995:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System Message Bus:/:/sbin/nologin
polkitd:x:996:994:User for polkitd:/:/sbin/nologin
unbound:x:995:993:Unbound DNS resolver:/:/sbin/nologin
tss:x:59:59:TPM software stack:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:980:978::/run/gnome-initial-setup:/sbin/nologin
dnsmasq:x:979:977:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin

Ähnlich wie bei head können Sie die Anzahl der anzuzeigenden Zeilen mit der Option -n festlegen. Um beispielsweise die letzten 3 Zeilen anzuzeigen:

tail -n 3 /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:980:978::/run/gnome-initial-setup:/sbin/nologin
dnsmasq:x:979:977:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin

Diese Befehle sind von unschätzbarem Wert, um Dateiinhalte schnell zu überprüfen, ohne sie in einem Texteditor öffnen zu müssen. Dies ist besonders nützlich bei großen Dateien oder wenn Sie nur bestimmte Teile kontrollieren müssen.

Dateistatistiken zählen und den Befehlsverlauf nutzen

In diesem Schritt lernen Sie, wie Sie den Befehl wc verwenden, um Zeilen, Wörter und Zeichen in Dateien zu zählen, und wie Sie die Befehlsverlaufsfunktion (History) in Ihrem Terminal effektiv nutzen. Die Verwaltung des Befehlsverlaufs ist entscheidend für Effizienz und das Wiederaufrufen zuvor ausgeführter Befehle.

Lassen Sie uns zunächst den Befehl wc (word count / Wortanzahl) erkunden. Dieser Befehl wird verwendet, um die Anzahl der Zeilen, Wörter und Zeichen in einer Datei zu zählen.

Zählen wir die Zeilen, Wörter und Zeichen in der Datei /etc/passwd:

wc /etc/passwd

Die Ausgabe zeigt drei Zahlen gefolgt vom Dateinamen: Zeilen, Wörter und Zeichen. Die genauen Zahlen können je nach Systemkonfiguration leicht abweichen.

41   98 2338 /etc/passwd

Sie können Optionen verwenden, um nur bestimmte Zählungen anzuzeigen:

  • -l für Zeilen (lines)
  • -w for Wörter (words)
  • -c for Zeichen (characters)

Zählen wir nur die Zeilen in /etc/passwd und /etc/group (welches Informationen über Benutzergruppen enthält). Wir können dies in einer einzigen Zeile tun, indem wir ein Semikolon verwenden.

wc -l /etc/passwd
wc -l /etc/group

Sie sehen die Zeilenanzahl für jede Datei:

41 /etc/passwd
63 /etc/group

Zählen wir nun nur die Zeichen in /etc/group und /etc/hosts (welches Hostnamen auf IP-Adressen abbildet).

wc -c /etc/group /etc/hosts

Die Ausgabe zeigt die Zeichenanzahl für jede Datei sowie eine Gesamtsumme (total).

883 /etc/group
114 /etc/hosts
997 total

Als Nächstes lernen wir den Befehlssverlauf (History) kennen. Ihre Shell führt eine Aufzeichnung aller Befehle, die Sie ausgeführt haben. Dies ist unglaublich nützlich, um Befehle erneut auszuführen oder sich zu erinnern, was Sie zuvor getan haben.

Um Ihren Befehlsverlauf anzuzeigen, verwenden Sie den Befehl history:

history

Sie sehen eine nummerierte Liste aller Befehle, die Sie in Ihrer aktuellen und in vorherigen Sitzungen eingegeben haben. Die Ausgabe variiert stark je nach Ihren Aktivitäten.

...output omitted...
   23  clear
   24  whoami
   25  date
   26  file /etc/passwd
   27  cat /etc/passwd
   28  head /etc/passwd
   29  tail /etc/passwd
   30  wc /etc/passwd
   31  history

Sie können einen Befehl aus Ihrem Verlauf erneut ausführen, indem Sie das Ausrufezeichen (!) gefolgt von der Befehlsnummer oder einer Zeichenkette verwenden.

Um beispielsweise den Befehl mit der Nummer 26 erneut auszuführen (was im obigen Beispiel file /etc/passwd war, bei Ihnen aber abweichen kann), suchen Sie dessen Nummer in Ihrer history-Ausgabe und verwenden Sie sie:

!26 ## Ersetzen Sie 26 durch die tatsächliche Nummer von 'file /etc/passwd' aus Ihrem Verlauf

Die Shell zeigt zunächst den Befehl an, den sie ausführen wird, und anschließend dessen Ausgabe:

file /etc/passwd
/etc/passwd: ASCII text

Sie können auch den kürzesten Befehl erneut ausführen, der mit einer bestimmten Zeichenkette beginnt. Um beispielsweise den letzten Befehl, der mit wc begann, noch einmal zu starten:

!wc

Dadurch wird der letzte von Ihnen ausgeführte wc-Befehl ausgeführt.

wc -c /etc/group /etc/hosts
883 /etc/group
114 /etc/hosts
997 total

Diese Verlaufsfunktionen können Ihren Arbeitsablauf erheblich beschleunigen, indem sie es Ihnen ermöglichen, komplexe Befehle schnell aufzurufen und erneut auszuführen, ohne sie neu tippen zu müssen.

Tastenkombinationen zur Befehlszeilenbearbeitung üben

In diesem Schritt lernen und üben Sie nützliche Tastenkombinationen für die Bearbeitung auf der Befehlszeile. Diese Tastenkombinationen können Ihre Effizienz beim Tippen und Ändern von Befehlen im Terminal erheblich verbessern. Sie ermöglichen Ihnen das Navigieren und Bearbeiten von Text, ohne ständig zur Maus greifen zu müssen.

Lassen Sie uns zunächst verstehen, wie man einen langen Befehl über mehrere Zeilen schreibt. Dies kann die Lesbarkeit komplexer Befehle verbessern. Sie können einen Backslash (\) am Ende einer Zeile verwenden, um anzuzeigen, dass der Befehl in der nächsten Zeile fortgesetzt wird.

Versuchen wir, die ersten 3 Zeilen zweier Wörterbuchdateien (Dictionary Files) mithilfe eines mehrzeiligen Befehls anzuzeigen. Diese Dateien sind typischerweise auf Linux-Systemen zu finden und enthalten Listen von Wörtern.

head -n 3 \
  /home/labex/project/words \
  /home/labex/project/linux.words

Wenn Sie nach der ersten Zeile die Eingabetaste drücken, zeigt Ihr Terminal eine >-Eingabeaufforderung (oder ähnlich) an, die signalisiert, dass auf den restlichen Teil des Befehls gewartet wird. Tippen Sie die verbleibenden Teile ein und drücken Sie erneut die Eingabetaste.

==> /home/labex/project/words <==
1080
10-point
10th

==> /home/labex/project/linux.words <==
1080
10-point
10th

Üben wir nun einige Tastenkombinationen für die Befehlszeilenbearbeitung. Diese Shortcuts funktionieren in den meisten modernen Linux-Terminals (wie Bash oder Zsh).

Geben Sie einen langen Befehl ein, aber drücken Sie noch nicht die Eingabetaste:

echo "This is a very long command that we will edit using shortcuts."
  • Strg+A: Zum Anfang der Befehlszeile springen.
    • Tippen Sie den obigen Befehl ein und drücken Sie dann Strg+A. Ihr Cursor springt an den Anfang der Zeile.
  • Strg+E: Zum Ende der Befehlszeile springen.
    • Drücken Sie nach Strg+A nun Strg+E. Ihr Cursor springt wieder an das Ende der Zeile.
  • Strg+U: Vom Cursor bis zum Anfang der Befehlszeile löschen.
    • Tippen Sie den Befehl erneut ein. Positionieren Sie Ihren Cursor irgendwo in die Mitte der Zeile (z. B. nach "very"). Drücken Sie Strg+U. Der Text vom Cursor bis zum Anfang wird gelöscht.
  • Strg+K: Vom Cursor bis zum Ende der Befehlszeile löschen.
    • Tippen Sie den Befehl erneut ein. Positionieren Sie Ihren Cursor irgendwo in die Mitte der Zeile (z. B. nach "very"). Drücken Sie Strg+K. Der Text vom Cursor bis zum Ende wird gelöscht.
  • Strg+Pfeiltaste links (oder Alt+B): Zum Anfang des vorherigen Wortes auf der Befehlszeile springen.
    • Tippen Sie den Befehl erneut ein. Positionieren Sie Ihren Cursor am Ende der Zeile. Drücken Sie wiederholt Strg+Pfeiltaste links, um sich wortweise nach links zu bewegen.
  • Strg+Pfeiltaste rechts (oder Alt+F): Zum Ende des nächsten Wortes auf der Befehlszeile springen.
    • Positionieren Sie Ihren Cursor am Anfang der Zeile. Drücken Sie wiederholt Strg+Pfeiltaste rechts, um sich wortweise nach rechts zu bewegen.
  • Strg+R: Die Befehlsverlaufsliste nach einem Muster durchsuchen.
    • Drücken Sie Strg+R. Eine Aufforderung (reverse-i-search) erscheint. Beginnen Sie, einen Teil eines zuvor ausgeführten Befehls einzugeben, z. B. date. Das Terminal zeigt den jüngsten Befehl aus Ihrem Verlauf an, der übereinstimmt. Drücken Sie weiterhin Strg+R, um durch ältere Übereinstimmungen zu blättern. Drücken Sie die Eingabetaste, um den gefundenen Befehl auszuführen, oder die Pfeiltasten links/rechts, um ihn zu bearbeiten.

Diese Tastenkombinationen werden Ihre Interaktion mit der Befehlszeile erheblich beschleunigen, sobald Sie sich daran gewöhnt haben. Üben Sie sie regelmäßig, um ein Muskelgedächtnis aufzubauen.

Zusammenfassung

In diesem Lab haben Sie grundlegende Linux-Befehle zur Ermittlung von Benutzer- und Systeminformationen kennengelernt. Sie haben geübt, whoami zu verwenden, um den aktuell angemeldeten Benutzer zu bestimmen, und date zur Anzeige des aktuellen Systemdatums und der Uhrzeit, einschließlich verschiedener Formatierungsoptionen wie +%R für die Uhrzeit und +%x für das Datum. Darüber hinaus haben Sie entdeckt, wie man mehrere Befehle in einer einzigen Zeile mithilfe eines Semikolons ausführt, was die Effizienz in der Befehlszeilenumgebung steigert.