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.
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 | : | ~ | > |
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:
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.
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 |
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 |
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 | Ü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 |
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
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).
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.
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.