Linux – Grundlagen

Linux ist das Betriebssystem auf allen Pool-Rechnern und Rechenservern des Instituts. Für viele Aufgaben genügt eine grafische Oberfläche; die volle Stärke entfaltet Linux auf der Kommandozeile (Terminal). Hier sind die wichtigsten Befehle für den Einstieg.

Linux unterscheidet bei Datei- und Verzeichnisnamen Groß- und Kleinschreibung: Datei.txt und datei.txt sind zwei verschiedene Dateien.

Hilfreich von Anfang an

Tab-Ergänzung und Befehlshistorie

Tab ergänzt Befehle und Dateinamen automatisch – spart Tipparbeit und Tippfehler.
Mit / navigieren Sie durch frühere Befehle.

man – Handbuch aufrufen

Zeigt die vollständige Dokumentation eines Befehls:

$ man ls          # Handbuch für "ls"
$ man man         # Handbuch für "man"

Scrollen: Leertaste (Seite vor), b (zurück), q (beenden).

Verzeichnisse und Dateien

ls – Verzeichnisinhalt auflisten

Zeigt Dateien und Unterverzeichnisse an.

$ ls              # Inhalt des aktuellen Verzeichnisses
$ ls -l           # ausführliche Liste (Rechte, Größe, Datum)
$ ls -la          # wie -l, zeigt auch versteckte Dateien (. am Anfang)
$ ls Verz/        # Inhalt eines anderen Verzeichnisses

pwd – Aktuelles Verzeichnis anzeigen

Zeigt den vollständigen Pfad des aktuellen Verzeichnisses.

$ pwd

cd – Verzeichnis wechseln

$ cd Verzeichnis  # wechselt in "Verzeichnis"
$ cd              # wechselt ins Home-Verzeichnis (~)
$ cd ..           # eine Ebene höher
$ cd -            # zum vorherigen Verzeichnis zurück

mkdir – Verzeichnis erstellen

$ mkdir neues_verz            # erstellt "neues_verz"
$ mkdir -p pfad/zu/verz       # erstellt alle Zwischenverzeichnisse

Dateien lesen und bearbeiten

cat – Datei ausgeben

$ cat datei.txt               # gibt Inhalt aus
$ cat datei1.txt datei2.txt   # gibt beide Dateien hintereinander aus

less – Datei seitenweise lesen

Für große Dateien besser geeignet als cat.

$ less datei.txt

Navigation: Leertaste (vor), b (zurück), /Suchbegriff (suchen), q (beenden).

Kopieren, Verschieben, Löschen

cp und mv – Kopieren und Verschieben

Das Ziel wird ohne Rückfrage überschrieben!
Befehl Wirkung
cp quelle ziel Kopiert Datei quelle nach ziel
cp -r quellverz/ zielverz/ Kopiert ein Verzeichnis rekursiv
mv quelle ziel Verschiebt oder benennt um

rm – Löschen

Gelöschte Dateien sind nicht ohne weiteres wiederherstellbar! Eingabe sorgfältig prüfen.
$ rm datei.txt        # löscht eine Datei
$ rm -i datei.txt     # fragt vor dem Löschen nach (sicherer)
$ rm -r verz/         # löscht ein Verzeichnis rekursiv

Suchen

grep – Dateiinhalt durchsuchen

Durchsucht Dateien nach Mustern (reguläre Ausdrücke).

$ grep "Suchbegriff" datei.txt        # sucht in einer Datei
$ grep -r "Suchbegriff" verz/         # sucht rekursiv in Verzeichnis
$ grep -i "suchbegriff" datei*        # Groß-/Kleinschreibung ignorieren
$ grep -n "Suchbegriff" datei.txt     # zeigt Zeilennummern

find – Dateien finden

$ find . -name "*.pdf"            # alle PDF-Dateien ab aktuellem Verzeichnis
$ find ~ -name "*.tex" -newer x   # .tex-Dateien, neuer als Datei x

Umleitungen und Pipes

Mit Umleitungsoperatoren können Ausgaben umgeleitet und Programme miteinander verbunden werden.

$ ls -l > liste.txt           # Ausgabe in Datei schreiben (überschreibt)
$ ls -l >> liste.txt          # Ausgabe anhängen (nicht überschreiben)
$ sort < liste.txt            # Datei als Eingabe verwenden

$ ls -l | grep ".pdf"         # Ausgabe von ls an grep weitergeben (Pipe)
$ cat datei.txt | sort | uniq # sortieren und doppelte Zeilen entfernen

Berechtigungen

chmod – Dateiberechtigungen ändern

Linux verwaltet Berechtigungen für Besitzer, Gruppe und alle anderen (Lesen r, Schreiben w, Ausführen x).

$ chmod +x skript.sh          # Ausführungsrecht hinzufügen
$ chmod 644 datei.txt         # rw-r--r-- (Standardrecht für Dateien)
$ chmod 755 verz/             # rwxr-xr-x (Standardrecht für Verzeichnisse)

Weitere nützliche Befehle

Befehl Wirkung
whoami Aktuellen Benutzernamen anzeigen
df -h Belegten Speicherplatz anzeigen
du -sh verz/ Größe eines Verzeichnisses anzeigen
ps aux Laufende Prozesse anzeigen
kill PID Prozess mit der angegebenen PID beenden
history Befehlshistorie anzeigen

mc – Midnight Commander

Wer lieber mit einem visuellen Dateimanager arbeitet:

$ mc