Inhaltsverzeichnis

Linux - Grundlagen - Konsole

Für die Konsole gibt es viele (mehr oder weniger gleichwertige) Namen, wie z.B. Terminial, Shell, CLI (für Command Line Interface), Bash, usw. Wir verwenden hier die Bash.

Die Linux Konsole

Linux Prompt

Das erste was man sieht, wenn man die Konsole aufruft (bei Ubuntu z.B. mit „Strg+Alt+T“) ist der sogenannte Prompt: user@host:~>

student@saturn:~>

student@ saturn : ~>
Hier der Benutzer „student“ Angemeldet am Computer saturn Pfadangabe (~ ist eine Abkürzung für das Homeverzeichnis) Normaler User haben das > Symbol.

Dem Prompt kann man entnehmen:

  1. Benutzer
  2. Host (Computer)
  3. aktuellen Pfad
  4. Außerdem erkennt man am letzten Zeichen, ob man im Root-Modus (#) oder als User angemeldet ist.

Linux Konsolenbefehle

Der Befehl für die Konsole kann aus mehreren Teilen bestehen.

Der Befehl an sich reicht in vielen Fällen aus, um die Grundfunktion zu nutzen.

Anwendungsbeispiel

Das ls Komanndo.

Mit dem Befehl ls, kann man die Verzeichnisstruktur auflisten.

Das Beispiel zeigt, wie das Kommando ohne oder mit Parameter aufgerufen wird.

1. Der ls-Befehl ohne Parameter

Der ls Befehl ohne Optionen und Argumente aufgerufen.

2. Der ls-Befehl mit Optionen

Wird ls mit der Option -l aufgerufen, erhalten wir eine ausführlichere Ausgabe.

3. Der ls-Befehl mit Argument

Nun nutzen wir den Befehl nur mit einem Argument:

4. Der ls-Befehl mit Optionen und Argument

Als letztes kombinieren wir alles, d.h Option und Argument werden verwendet:

Linux Konsolenbefehle für die Dateiverwaltung

BefehlÜbersetzungErklärungBeispiel
lslistEs werden alle Ordner im aktuellen Verzeichnis aufgelistetls
cdchange directoryDer User wechselt in das angegebene Verzeichniscd Downloads/
cpcopyDie angegebene Datei oder der angegebene Ordner wird in das angegebene Verzeichnis kopiert.cp text.txt /home/student/Dokumente/
mkdirmake directoryErstellt einen Ordner mit dem angegebenen Namenmkdir neuerordner
mvmoveVerschiebt Datei oder benennt Datei ummv test.txt /home/student/Dokumente
pwdprint working directoryGibt das aktuelle Verzeichnis auspwd
touchErstellt eine nicht vorhandene Datei oder aktualisiert den Zeitstempel einer Dateitouch test.txt
rmremoveLöscht Dateien oder Verzeichnisserm test.txt
echo„Zurückgeben“schreibt die nachfolgenden Zeichenketten auf die Konsoleecho „Sag dies zu mir“
catconcatenategibt Datei auf der Konsole auscat test.txt

Linux Konsolenbefehle für die Prozessverwaltung

BefehlErklärungBeispiel
pidofzeigt die ID eines Prozessespidof firefox
pstreezeigt alle Prozesse in einer Baumansicht an
topzeigt eine Übersicht über alle Prozesse an
killBefehl zur Inter-Process-Communication: Prozesse beenden, schlafend setzen,…
niceStartet ein Programm mit dem vorgegebenen Nice-Wertnice -n 5 kcalc
reniceVerändert den Nice-Wert eines Programmsrenice -n 10 -p 5473

Linux Konsolenbefehle für die Rechteverwaltung

Die ausführliche Ausgabe der Dateiliste enthält für jede Datei am Zeilenanfang eine Kombination aus 10 Zeichen. Dabei gibt das erste Zeichen den Dateityp an

Die nachfolgenden 9 Zeichen sind in drei Tripeln zu lesen und geben die Berechtigungen für die entsprechende Datei an.

Das erste Tripel gibt die Berechtigungen des Besitzers der Datei an. Das zweite Tripel gibt die Berechtigungen für die Gruppe an, der der Besitzer angehört. Das dritte Tripel gibt die Berechtigungen für die übrigen Nutzer an, die weder Besitzer der Datei noch Mitglieder seiner Gruppe sind.

Beispiel: -rwxr-xr-x

Es handelt sich um eine Datei, die von ihrem Besitzer gelesen, bearbeitet/gelöscht werden kann und enthaltene Programme können ausgeführt werden. Von der Gruppe des Besitzes und anderen Benutzern kann die Datei jedoch nur gelesen und enthaltene Programme können ausgeführt werden.

BefehlÜbersetzungErklärungBeispiel
chmodchange modeändert die Zugriffsrechte einer Datei/eines Verzeichnisseschmod u=rw test.txt
chownchange ownerändert den Besitzer einer Datei/eines Verzeichnisseschown root test.txt
chgrpchange groupändert die Gruppenzugehörigkeit einer Datei

Beispiel chmod

In Linux-Systemen werden mittels chmod Datei- und Ordnerberechtigungen vergeben. Zu jeder Datei und jedem Ordner können einzeln die Rechte Lesen, Schreiben und Ausführen pro Eigentümer, Gruppe und Public (Others) vergeben werden.

Gewichtung der Berechtigungen:

       Lesen     (read)    4
       Schreiben (write)   2
       Ausführen (execute) 1 

Linux Pipes und mehr (|, >, >> more und less)

Mit Hilfe des „Größer als“-Zeichens > lässt sich die Standardausgabe beispielsweise in eine Datei umleiten.

Beispiel:

 ls > inhalt.txt 

Dies schreibt den Inhalt des aktuellen Verzeichnisses in die Datei inhalt.txt anstatt ins Terminal
Anmerkung: Falls die Datei inhalt.txt schon existiert, wird sie überschrieben, falls nicht, wird sie neu angelegt.

Mit Hilfe des „Kleiner als“-Zeichens < lässt sich die Standardeingabe umleiten.
Mit dem Pipe-Operator | (engl. pipeline = Rohrleitung) kann man die Ausgabe eines Befehls direkt als Eingabe an den nächsten Befehl leiten (anstatt ins Terminal).

Linux Programme ausführen

Wenn man über die Linux Konsole ein Programm aufruft, beispielsweise „firefox“, steht man vor dem Problem, dass das Programm zwar ordentlich ausgeführt wird, man aber das aktuelle Konsolenfenster nicht weiter nutzen kann, da dort nur die Ausgaben von Firefox angezeigt werden. Wenn man hier nun mit Ctrl+C arbeitet, wird der Prozess beendet und man kann normal weiterarbeiten.

Um dieses Problem zu umgehen erweitert man den Befehl um das Zeichen „&“.

firefox &

Hier wird beim Aufrufen nur noch die PID angezeigt und man kann die Konsole weiter benutzen.

Linux Bashtipps

Die Schreibweise für Verzeichnisse (Pfade)

Eine Folge von jeweils direkt untergeordneten Verzeichnisnamen heißt Pfad. Verzeichnisnamen werden voneinander und vom Dateinamen durch / (slash) getrennt.

#z.B.
/schiller/Schüler 

Eine absolute Pfadangabe geht immer vom obersten verfügbaren Verzeichnis (root) aus und beginnt daher mit dem slash.