1. Startseite
  2. System
  3. Linux-Grundlagen: Einfache Befehle

Linux-Grundlagen: Einfache Befehle

Falls du aus der Windows-Welt in die Linux-Umgebung wechselst, mag die Verwendung der Kommandozeile zunächst einschüchternd wirken. Tatsächlich ist sie jedoch einfach zu nutzen. Alles, was du benötigst, um mit der Kommandozeile umzugehen, sind einige grundlegende Befehle.

Obwohl die meisten Linux-Distributionen benutzerfreundliche grafische Benutzeroberflächen bieten, kann es äußerst nützlich sein zu wissen, wie man die Kommandozeile verwendet. Sie verleiht dir mehr Kontrolle über dein System und ermöglicht den Zugriff auf Funktionen, die in der grafischen Oberfläche nicht verfügbar sind.

In diesem Beitrag werden einige der häufigsten Linux-Befehle vorgestellt, die täglich von Linux-Systemadministratoren genutzt werden.

Informationen zu Befehlen erhalten

Es ist normalerweise nicht notwendig, Befehlsoptionen auswendig zu lernen, da dies Zeitverschwendung sein kann. Die meisten Befehle verfügen über eine --help-Option, die eine kurze Beschreibung des Befehls und dessen Verwendung anzeigt und den Befehl danach beendet:

Befehl_name --help

Der man-Befehl

Fast alle Linux-Befehle werden mit sogenannten „man-Seiten“ geliefert. Eine Man-Page oder Handbuchseite ist eine Dokumentationsform, die erklärt, was der Befehl tut, wie er verwendet wird und welche Argumente er akzeptiert.

Der man-Befehl wird genutzt, um die Man-Page eines bestimmten Befehls anzuzeigen:

man Befehl_name

Um beispielsweise die Handbuchseite des cd-Befehls zu öffnen, gibst du ein:

man cd

Um in den Man-Pages zu navigieren, verwende die Pfeil-, Bild-hoch- und Bild-runter-Tasten. Du kannst auch die Eingabetaste drücken, um zeilenweise zu scrollen, die Leertaste, um zur nächsten Seite zu gelangen, und die „b“-Taste, um zur vorherigen Seite zurückzukehren. Zum Verlassen der Manpage drückst du „q“.

In Linux befinden sich alle Dateien und Verzeichnisse unter dem Stammverzeichnis, welches das oberste Verzeichnis im Verzeichnisbaum ist und durch einen einzelnen führenden Schrägstrich / gekennzeichnet ist.

Beim Navigieren im Dateisystem kannst du entweder den absoluten Pfad (beginnend mit /) oder den relativen Pfad (beginnend im aktuellen Verzeichnis) verwenden.

Aktuelles Arbeitsverzeichnis (pwd-Befehl)

Das aktuelle Arbeitsverzeichnis ist das Verzeichnis, in dem du dich gerade befindest und in dem du arbeitest. Jedes Mal, wenn du mit der Eingabeaufforderung interagierst, befindest du dich in einem bestimmten Verzeichnis. Um herauszufinden, in welchem Verzeichnis du gerade arbeitest, verwende den pwd-Befehl:

pwd

Dieser Befehl zeigt den Pfad deines aktuellen Arbeitsverzeichnisses an:

/home/dein_benutzername

Verzeichnis wechseln (cd-Befehl)

Der cd-Befehl (change directory) wird verwendet, um das aktuelle Arbeitsverzeichnis in Linux und anderen Unix-ähnlichen Betriebssystemen zu ändern.

Wenn du den Befehl ohne Argumente verwendest, bringt dich cd in dein Heimatverzeichnis zurück:

cd

Um in ein bestimmtes Verzeichnis zu wechseln, verwende entweder den relativen oder den absoluten Pfad zum Verzeichnis:

cd Verzeichnisname

Zum Beispiel, wenn das Verzeichnis „Downloads“ im aktuellen Verzeichnis existiert, kannst du mit dem Befehl:

cd Downloads

dorthin wechseln. Du kannst auch den absoluten Pfad verwenden:

cd /home/dein_benutzername/Downloads

Die Verwendung von zwei aufeinanderfolgenden Punkten (..) steht für das übergeordnete Verzeichnis, also das Verzeichnis direkt über dem aktuellen Verzeichnis. Wenn du dich zum Beispiel im Verzeichnis /usr/local/share befindest und in das Verzeichnis /usr/local wechseln möchtest (eine Ebene höher als das aktuelle Verzeichnis), gibst du ein:

cd ../

Um zwei Ebenen nach oben zu gelangen:

cd ../../

Um zum vorherigen Arbeitsverzeichnis zurückzukehren, verwende den Befehl cd -:

cd -

Falls ein Verzeichnis in seinem Namen Leerzeichen enthält, solltest du den Pfad entweder in Anführungszeichen setzen oder den Backslash (\) verwenden, um die Leerzeichen zu kennzeichnen:

cd "Verzeichnisname mit Leerzeichen"

Arbeiten mit Dateien und Verzeichnissen

Verzeichnisinhalte auflisten (ls-Befehl)

Der ls-Befehl listet Informationen über Dateien und Verzeichnisse in einem bestimmten Verzeichnis auf.

Wenn du ls ohne

Optionen und Argumente verwendest, zeigt es dir eine alphabetisch geordnete Liste der Dateinamen im aktuellen Verzeichnis an:

ls

Um Dateien in einem bestimmten Verzeichnis aufzulisten, gibst du den Pfad zu diesem Verzeichnis als Argument an:

ls /usr

Standardmäßig zeigt der ls-Befehl nur die Namen von Dateien und Verzeichnissen an. Verwende die Option -l, um die Dateien im langen Listenformat anzuzeigen:

ls -l /etc/hosts

Die Ausgabe enthält Informationen wie den Dateityp, die Berechtigungen, die Anzahl der Hardlinks, den Besitzer, die Gruppe, die Größe, das Datum und den Dateinamen:

-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts

Standardmäßig werden versteckte Dateien (Dateien, die mit einem Punkt . beginnen) nicht angezeigt. Um alle Dateien, einschließlich versteckter Dateien, anzuzeigen, verwende die Option -a:

ls -a ~/

Anzeigen von Dateiinhalten (cat-Befehl)

Der cat-Befehl gibt den Inhalt einer oder mehrerer Dateien aus und kann Dateien miteinander verknüpfen, indem er den Inhalt einer Datei am Ende einer anderen Datei anhängt.

Um den Inhalt einer Datei auf dem Bildschirm anzuzeigen, gib einfach den Dateinamen als Argument an cat:

cat /etc/hosts

Erstellen von Dateien (touch-Befehl)

Der touch-Befehl dient dazu, Zeitstempel von bestehenden Dateien und Verzeichnissen zu aktualisieren und leere Dateien zu erstellen.

Um eine neue Datei zu erstellen, gib einfach den Dateinamen als Argument an:

touch Datei.txt

Falls die Datei bereits existiert, wird der touch-Befehl die Zeitstempel für den letzten Zugriff und die letzte Änderung auf den aktuellen Zeitpunkt setzen.

Erstellen von Verzeichnissen (mkdir-Befehl)

In Linux kannst du neue Verzeichnisse (auch Ordner genannt) mit dem mkdir-Befehl erstellen.

Um ein Verzeichnis zu erstellen, gib den Verzeichnisnamen als Argument an:

mkdir /tmp/neues_verzeichnis

Der mkdir-Befehl akzeptiert auch mehrere Verzeichnisnamen als Argumente.

Wenn du ein Verzeichnis ohne vollständigen Pfad erstellst, wird es im aktuellen Arbeitsverzeichnis erstellt.

Um übergeordnete Verzeichnisse zu erstellen, verwende die Option -p:

mkdir -p Projekte/kommandozeile.org/src/assets/images

Diese Anweisung erstellt die gesamte Verzeichnisstruktur. Der mkdir-Befehl mit der Option -p erstellt das Verzeichnis nur, wenn es noch nicht existiert.

Ein symbolischer Link (Symlink) ist eine spezielle Datei, die auf eine andere Datei oder ein anderes Verzeichnis verweist.

Um einen symbolischen Link zu einer bestimmten Datei zu erstellen, verwende den ln-Befehl mit der Option -s und gib den Dateinamen als erstes Argument und den Namen des symbolischen Links als zweites Argument an:

ln -s Quelldatei Symbolischer_Link

Wenn du nur eine Datei als Argument angibst, erstellt ln einen Link im aktuellen Arbeitsverzeichnis mit dem gleichen Namen wie die Datei, auf die er zeigt.

Löschen von Dateien und Verzeichnissen (rm-Befehl)

Um Dateien und Verzeichnisse zu löschen, verwende den rm-Befehl.

Standardmäßig löscht rm keine Verzeichnisse, es fragt dich auch nicht nach Bestätigung, wenn du Dateien löschst.

Um eine Datei oder einen Symlink zu löschen, gib den Dateinamen als Argument an:

rm Datei.txt

Der rm-Befehl kann ein oder mehrere Dateinamen oder Verzeichnisse als Argumente akzeptieren.

Die Option -i zwingt rm, den Benutzer vor dem Löschen jeder Datei zu fragen:

rm -i Datei.txt

Die Verwendung der Option -d erlaubt es dir, leere Verzeichnisse zu löschen:

rm -d Verzeichnisname

Um nicht leere Verzeichnisse und alle darin enthaltenen Dateien rekursiv zu löschen, verwende die Option -r (rekursiv):

rm -rf Verzeichnisname

Die Option -f zwingt rm, ohne Nachfrage zu löschen und ignoriert nicht existierende Dateien oder Argumente.

Kopieren von Dateien und Verzeichnissen (cp-Befehl)

Der cp-Befehl ermöglicht das Kopieren von Dateien und Verzeichnissen.

Um eine Datei in das aktuelle Arbeitsverzeichnis zu kopieren, gib die Quelldatei als erstes Argument und die Ziel-Datei als zweites Argument an:

cp Quelldatei Ziel-Datei

Um eine Datei in ein anderes Verzeichnis zu kopieren, gib den absoluten oder relativen Pfad zum Zielverzeichnis an. Wenn du nur den Verzeichnisnamen angibst, hat die kopierte Datei denselben Namen wie die Originaldatei:

cp datei.txt /backup

Wenn die Zieldatei bereits existiert, wird sie standardmäßig überschrieben.

Um ein Verzeichnis mit all seinen Dateien und Unterverzeichnissen zu kopieren, verwende die Option -R oder -r:

cp -R Bilder /opt/backup

Verschieben und Umbenennen von Dateien und Verzeichnissen (mv-Befehl)

Der mv-Befehl (kurz für move) ermöglicht das Umbenennen und Verschieben von Dateien und Verzeichnissen von einem Ort zum anderen.

Um eine Datei beispielsweise in ein Verzeichnis zu verschieben, führe folgenden Befehl aus:

mv Datei.txt /tmp

Um eine Datei umzubenennen, gib den neuen Namen als Ziel an:

mv Datei.txt Neue_Datei.txt

Die Syntax zum Verschieben von Verzeichnissen ist die gleiche wie bei Dateien.

Um mehrere Dateien und Verzeichnisse gleichzeitig zu verschieben, gib das Zielverzeichnis als letztes Argument an:

mv Datei1.txt Datei2.txt /tmp

Installieren und Entfernen von Paketen

Ein Paketmanager ist ein Tool, mit dem du distro-spezifische Softwarepakete installieren, aktualisieren, entfernen und verwalten kannst. Die verschiedenen Linux-Distributionen verwenden unterschiedliche Paketmanager und Paketformate. Nur Root-Benutzer oder Benutzer mit Sudo-Rechten können Pakete installieren und entfernen.

Ubuntu und Debian (apt-Befehl)

Advanced Package Tool (APT) ist ein Paketverwaltungssystem, das in Debian-basierten Distributionen verwendet wird. Die beiden am häufigsten verwendeten Befehle sind apt und apt-get. Um ein neues Paket zu installieren, aktualisierst du zuerst den APT-Paketindex:

apt update

Der APT-Index ist eine Datenbank, die Informationen über verfügbare Pakete aus den aktivierten Repositories deines Systems enthält. Um installierte Pakete auf ihre neuesten Versionen zu aktualisieren, verwende:

apt upgrade

Die Installation von Paketen ist einfach:

apt install Paketname

Um ein installiertes Paket zu entfernen, verwendest du:

apt remove Paketname

CentOS und Fedora (dnf-Befehl)

RPM ist ein leistungsstarkes Paketmanagementsystem, das in Red Hat Linux und seinen Derivaten wie CentOS und Fedora verwendet wird. Um ein neues Paket auf Red Hat-basierten Distributionen zu installieren, kannst du den yum– oder dnf-Befehl verwenden:

dnf install Paketname

Ab CentOS 8 hat dnf yum als Standard-Paketmanager ersetzt. dnf ist abwärtskompatibel mit yum. Um installierte Pakete zu aktualisieren, verwende:

dnf update

Die Entfernung von Paketen erfolgt einfach durch:

dnf remove Paketname

Dateibesitz und Berechtigungen

In Linux wird der Zugriff auf Dateien durch Dateiberechtigungen, Attribute und Eigentumsverhältnisse gesteuert. Dies stellt sicher, dass nur autorisierte Benutzer und Prozesse auf Dateien und Verzeichnisse zugreifen können. Jede Datei ist einem Eigentümer und einer Gruppe zugeordnet und hat Zugriffsrechte für drei verschiedene Benutzerklassen: den Dateibesitzer, die Gruppenmitglieder und alle anderen. Diese Zugriffsrechte umfassen Lesen, Schreiben und Ausführen.

Um den Dateibesitzer und die Berechtigungen einer Datei anzuzeigen, verwende den Befehl ls -l.

Ändern von Berechtigungen (chmod-Befehl>)

Der chmod-Befehl ermöglicht die Änderung der Dateiberechtigungen in symbolischer oder numerischer Form. Im numerischen Modus entspricht jeder Berechtigungstyp einem Zahlenwert: Lesen (4), Schreiben (2) und Ausführen (1). Du kannst die Summe dieser Werte verwenden, um die Berechtigungen festzulegen. Zum Beispiel:

chmod 644 Dateiname

Die Verwendung der Option -R ermöglicht die rekursive Änderung von Berechtigungen für Dateien und Verzeichnisse innerhalb eines Verzeichnisses:

chmod -R 755 Verzeichnisname

Ändern der Eigentümerschaft (chown-Befehl>)

Der chown-Befehl ermöglicht das Ändern des Dateibesitzers und der Gruppe einer Datei. Du kannst den Benutzernamen des neuen Besitzers und/oder den Gruppennamen als Argumente verwenden. Zum Beispiel:

chown Benutzername:Gruppenname Dateiname

Die Option -R ermöglicht die rekursive Änderung von Eigentümerschaft für Dateien und Verzeichnisse:

chown -R Benutzername:Gruppenname Verzeichnisname

Erhöhen von Berechtigungen (sudo-Befehl>)

Der sudo-Befehl ermöglicht das Ausführen von Befehlen als ein anderer Benutzer, standardmäßig als Root. Dies ist hilfreich, um administrative Aufgaben auszuführen, ohne als Root angemeldet zu sein. Um sudo zu verwenden, füge es einfach vor den auszuführenden Befehl hinzu:

sudo Befehl

Benutzer und Gruppen verwalten

Linux ist ein Mehrbenutzersystem, bei dem mehrere Benutzer gleichzeitig auf dasselbe System zugreifen können. Gruppen werden verwendet, um Benutzerkonten zu organisieren und zu verwalten, und definieren Berechtigungen für Ressourcen, die von Gruppenmitgliedern gemeinsam genutzt werden.

Erstellen von Benutzern (useradd und passwd-Befehle)

Um neue Benutzerkonten zu erstellen, verwende den useradd-Befehl, gefolgt vom Benutzernamen:

useradd neuerBenutzer

Verwende dann den passwd-Befehl, um dem neuen Benutzer ein Passwort zuzuweisen:

passwd neuerBenutzer

Entfernen von Benutzern (userdel-Befehl)

Um ein Benutzerkonto zu löschen, verwende den

userdel-Befehl mit dem Benutzernamen als Argument:

userdel Benutzername

Du kannst auch die Option -r verwenden, um das Heimatverzeichnis und den Mailspool des Benutzers zu löschen:

userdel -r Benutzername

Verwalten von Gruppen (groupadd und groupdel-Befehle)

Um eine neue Gruppe zu erstellen, verwende den groupadd-Befehl mit dem Gruppennamen als Argument:

groupadd MeineGruppe

Um eine Gruppe zu entfernen, verwende den groupdel-Befehl mit dem Gruppennamen als Argument:

groupdel MeineGruppe

Hinzufügen von Benutzern zu Gruppen (usermod-Befehl)

Um einen vorhandenen Benutzer zu einer Gruppe hinzuzufügen, verwende den usermod-Befehl mit der Option -G und dem Gruppennamen:

usermod -a -G Gruppenname Benutzername

Abschluss

Wir haben einige der am häufigsten verwendeten Linux-Befehle behandelt. Obwohl die meisten Aufgaben auch über eine grafische Benutzeroberfläche erledigt werden können, ermöglicht die Kommandozeile eine effiziente und produktive Arbeit, insbesondere für Entwicklungs- und Systemaufgaben. Du kannst die Links zu den einzelnen Befehlen anklicken, um weitere Informationen zu deren Optionen und Verwendung zu erhalten. Bei Fragen oder Feedback stehe ich gerne zur Verfügung.

War dieser Beitrag hilfreich?

Verwandte Beiträge