Linux - Grundlagen - Konsole

 

Die Linux 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.

 

Kernel: Der Kernel bildet  das eigentliche Betriebssystem (engl. Operating System) .

Shell:Durch die Shell (engl. Muschel, auch Konsole, Bash)  kann der Anwender (USER) sowohl mit dem Kernel als auch mit Anwendungen kommunizieren.

Application (Anwendungen): Der Benutzer verwendet in der Regel lediglich die Programme (Anwendungen). Die Arbeit des Kernels läuft meistens völlig unbemerkt im Hintergrund ab.

   

 

Linux Prompt

Das erste was man sieht, wenn man die Konsole aufruft (bei Linux mit "Alt + F2") ist der sogennante Prompt:

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 letzen Zeichen, ob man im Root-Modus (#) oder als User angemeldet ist.

Linux Konsolenbefehle

 

 

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

  • Dem Befehl an sich
  • Den Optionen
  • Und dem/den Argument/en

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 Übersetzung Erklärung Beispiel
ls list Es werden alle Ordner im aktuellen Verzeichnis aufgelistet ls
cd change directory Der User wechselt in das angegebene Verzeichnis cd Downloads/
cp copy Die angegebene Datei oder der angegebene Ordner wird in das angegebene Verzeichnis kopiert. cp text.txt /home/student/Dokumente/ 
mkdir   make directory Erstellt einen Ordner mit dem angegebenen Namen mkdir neuerordner 
mv move  Verschiebt Datei oder benennt Datei um mv test.txt /home/student/Dokumente 
pwd print working directory Gibt das aktuelle Verzeichnis aus  pwd 
touch   Erstellt eine nicht vorhandene Datei oder aktualisiert den Zeitstempel einer Datei

touch test.txt 

rm remove  Löscht Dateien oder Verzeichnisse rm test.txt
echo "Zurückgeben"  schreibt die nachfolgenden Zeichenketten auf die Konsole echo "Sag dies zu mir" 
cat concatenate  gibt Datei auf der Konsole aus cat test.txt

Linux Konsolenbefehle für die Prozessverwaltung

Befehl Erklärung Beispiel
pidof zeigt die ID eines Prozesses pidof firefox
pstree zeigt alle Prozesse in einer Baumansicht an  
top zeigt eine Übersicht über alle Prozesse an  
kill Befehl zur Inter-Process-Communication: Prozesse beenden, schlafend setzen,...  
nice Startet ein Programm mit dem vorgegebenen Nice-Wert nice -n 5 kcalc
renice Verändert den Nice-Wert eines Programms renice -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

  • (d für ein Verzeichnis,
  • ein Strich (-) für eine Datei).

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

  • R steht für Lesen der Datei (Read),
  • W für Schreiben (Write) und
  • X für Ausführen (Execute), falls es sich um ein Programm handelt.

 

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 jedeoch nur gelesen und enthaltene Programme können ausgeführt werden.

Befehl Übersetzung Erklärung Beispiel
 chmod change mode  ändert die Zugriffsrechte einer Datei/eines Verzeichnisses  chmod u=rw test.txt
 chown change owner  ändert den Besitzer einer Datei/eines Verzeichnisses  chown root test.txt
 chgrp change group  ändert die Gruppenzugehörigkeit einer Datei  

 

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

  • stdin (Standardeingabekanal, Kanal 0) daher bezieht ein Befehl seine Eingabe, wenn nicht weiter spezifiziert, dann von der Tastatur, welche mit dem Terminal verbunden ist.
  • stdout (Standardausgabekanal, Kanal 1) dahin schickt ein Befehl seine Ausgabe, wenn nicht weiter spezifiziert, dann an den Bildschirm, welcher mit dem Terminal verbunden ist.
  • stderr (Standardfehlerkanal, Kanal 2) falls etwas schief geht, schickt ein Befehl dahin seine Fehlermeldung, falls nich weiter spezifiziert an den Bildschirm, welcher mit dem Terminal verbunden ist.

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

Beispiel:  ls > inhalt.txt            (schreibt den Inhalt des aktuellen Verzeichnisses in die Datei inhalt.txt statt 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 weiterbenutzen.

 

Linux Bashtipps

  • Konsole funktioniert nicht mehr  → "ctrl-c"
  • Tab  - Taste
  • ↑↓ Pfeiltasten
  • Drei nützliche Shortcuts "ctrl-u", "ctrl-l" und "ctrl-c"

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.

Bei relativen Pfadangaben wird der Pfad in Bezug auf das aktuelle Verzeichnis angegeben. Darauf bezieht man sich mit einem Punkt (.) und auf das übergeordnete Verzeichnis mit zwei Punkten (..).