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.
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
| 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
$ 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
DE
EN