Prof. Dr. Rudolf Berrendorf

Inhaltsverzeichnis

Dies ist eine ultrakompakte, nur die absolut grundlegendsten Dinge ansprechende Einführung zum Umgang mit Linuxrechnern über die Kommandozeile. Also nur für die ersten Stunden eines absoluten Einsteigers gedacht.


Organisation von und Umgang mit Dateien und Ordnern

In Linux werden alle Dateien in einem Baum von Ordnern verwaltet. Der Wurzelknoten des Baums bzw. der oberste Ordner, in dem alle anderen Ordnern und Dateien direkt oder über Unterordnern indirekt enthalten sind, wird mit einem Schrägstrich / bezeichnet.

Dateinamen

Namen von Ordner und Dateien können beliebige alphanumerische Zeichen (Buchstaben, Ziffern) enthalten, sowie einige Zusatzzeichen wie etwa Punkt und Unterstrich. Nach wie vor sind Umlaute oft problematisch, insbesondere, wenn Sie mit mehreren unterschiedlichen Systemen arbeiten, zwischen denen eine Datei ausgetauscht wird. Groß- und Kleinschreibung ist signifikant. Im Folgenden wird nicht mehr zwischen Ordner und Datei unterschieden (Name, Pfadangabe,...).

Angabe einer Datei

Die Angabe zu einer Datei im Dateibaum kann auf verschiedeen Weise erfolgen:

Verzeichnisstruktur

Unter Linux hat der Ordnerbaum eine teilweise vorgegeben Struktur, so dass an bestimmten Stellen bestimmte Sachen zu finden sind. Hier eine kurze Auswahl dazu:
Bezeichnung Bedeutung
/ Wurzelverzeichnis (root)
/home/xyz Benutzerdaten des Benutzers xyz (home-Verzeichnis)
/tmp temporäre Dateien
/usr/bin Kommandos
/usr/local zusätzliche Programmpakete

Datei-/Ordnerrechte

Zu Dateien und Ordnern kann man Sicherheitsrechte vergeben, die Umgang mit dieser Datei/Ordner einschränken. Unterschieden wird zwischen Rechten des Besitzers (owner), der eigenen Gruppe (group) und allen Benutzern des Systems (world). Für jede dieser drei Benutzerklassen kann man individuell drei Rechte vergeben zum Lesen, Schreiben/Verändern und Ausführen, so dass insgesamt 9 Information vorhanden sind. Ändern lassen sich diese Rechte mit dem Kommando chmod (siehe Dokumentation dieses Kommandos). Ein ausführbares Kommando muss Ausführungsrechte besitzen.


Umgang mit der Kommandozeile / Shell

Wenn man sich auf einem Linux-Rechner zum Beispiel über ssh einloggt, landet man in einer Shell / Kommandozeile und befindet sich dort im home-Verzeichnis des Benutzers. Die von uns genutzte Shell heißt bash. Dort kann man u.a. Befehle ausführen. Die Shell gibt einen Prompt aus, hinter dem man Eingaben tätigen kann (Kommandos starten). Beispiel zum Prompt:

user@wr0:~>
Innerhalb einer Eingabezeile (nach dem Prompt) kann man sich in dieser Eingabezeile u.a. mit den Pfeiltasten bewegen, Zeichen mit der Backspace-Taste löschen. Die Shell merkt sich die zuletzt eingegebenen Kommandos. In dieser Kommandohistorie kann man sich bewegen, um z.B. ein bereits eingetipptes Kommando nochmals (evtl. verändert) auszuführen. Dazu dienen die Peil-oben und Pfeil-unten Tasten.

Umgebungsvariablen

In einer Shell lassen sich Variablen definieren und nutzen. In aller Kürze: Beispiel:

user@wr0:~>export VERZEICHNIS=/tmp/parprog
user@wr0:~>cd $VERZEICHNIS
Es gibt einige vordefinierte Umgebungsvariablen:
Variablenname Bedeutung
HOME home-Verzeichnis des Benutzers
PATH Suchpfad für Kommandos
USER Accountname des Benutzers
PS1 Inhalt des Prompts der Kommandozeile
Eine Auflistung aller für Sie derzeit definierten Umgebungsvariablen geschieht über das Kommando env

Kommandos

In der Kommandozeile kann man Kommandos ausführen durch Angabe eines entsprechenden einfachen Namens oder einer Pfadangabe. Gibt man einen einfachen Namen an, so wird in allen Ordnern, die in der Umgebungsvariablen PATH angeben sind, der Reihe nach nach der ersten Datei (=Kommando) mit diesem Namen gesucht (das ist der normale Weg, wenn Sie Systemkommandos nutzen wollen). Alternativ kann man auch explizit eine absolute/relative Pfadangabe machen. Beispiel: /usr/bin/ls Hier eine minimale Auswahl sinnvoller Kommandos, die in der Shell ausgeführt werden können.
Befehl Wirkung Beispiel
pwd Zeige den Namen des aktuellen Verzeichnisses pwd
cd [Pfadangabe] Wechseln des Verzeichnisses. Ohne Pfadgabe: home-Verzeichnis cd $HOME
ls -l [Pfadangabe] ausführliches Auflisten eines Verzeichnisses. Ohne Pfadangabe: aktuelles Verzeichnis ls -l .
mkdir Pfadangabe Erzeugen eines neuen Verzeichnisses mkdir ./neuesVerzeichnis
rm Pfadangabe Löschen einer Datei oder eines Verzeichnisse rm ./meineDatei.txt
mv Pfadangabe1 Pfadangabe2 Verschieben einer Datei/Verzeichnis mv ./meineDatei.txt ..
Ein in der Kommandozeile gestartetes Programm (das sich z.B. in einer Endlosschleife befindet) lässt sich abbrechen mit Strg-C (Kontrolltaste/Steuerungstaste drücken und festhalten und dann zusätzlich die Taste C drücken).

Hilfe

Zu allen Systemkommandos kann man sich ausführliche Dokumentation anzeigen lassen. Dazu dient das Kommando man gefolgt von dem Kommandonamen, zu dem Hilfe benötigt wird. Beispiel: man ls Ist der Hilfetext so umfangreich, dass er nicht auf eine Bildschirmseite passt, so wird nach einem Bildschirminhalt die Ausgabe gestoppt. Durch Drücken der Leertaste bekommt man den nächsten Bildschirminhalt angezeigt. Durch Drücken der q-Taste (f ür quit) kann man jederzeit die Ausgabe beenden.


Editieren von Dateien

Ein möglicher Weg zum Ändern von Dateinhalten ist das Kopieren auf ein Clientsystem, die dortige Änderung und das Zurückübertragen (s.u.) Erfahrungsgemäß kann man viel Zeit verlieren, wenn man dabei etwas vergißt oder eine falsche Datei überträgt. Einfacher ist die direkte Änderung auf unserem Rechner. Dazu gibt es zahlreiche sehr einfach gehaltene Editoren (vi, emacs), die für einfache Änderungen vollkommen ausreichen. Zur Benutzung eines Editors auf unserem System mit einer komfortablen Oberfläche (z.B. kate) muss ihr Clientsystem einen X11-Server haben, auf dem die grafikorientierte Darstellung angezeigt werden kann und die ssh-Verbindung X11-Forward unterstützt (von einem Linux-System z.B. mit ssh -Y ... einloggen).


Kommunikation mit der Außenwelt

Das Einloggen in das System geschieht ausschließlich über ssh. Dazu gibt es entsprechende Clients für Windows, MacOS,... wie etwa putty. Dateien können zum System hin und vom System weg mittels scp übertragen werden. Dazu gibt es fü Clientsysteme zahlreiche grafische Oberflächen und Einbettungen in Explorer, wie etwa winscp für Windows.

Prof. Dr. Rudolf Berrendorf