Markdown ist eine leichtgewichtige Auszeichnungssprache, mit der man Text mit einfachen Zeichen formatieren kann — ideal für Dokumentation, README-Dateien, Foren und Wikis. Der Klartext bleibt lesbar, HTML-Ausgabe entsteht automatisch.
Überschriften und Text
# H1
## H2
### H3
**fett**, *kursiv*, ~~durchgestrichen~~
Listen und Links
- Punkt 1
- Punkt 2
1. Erster
2. Zweiter
[Linktext](https://example.org)
Code und Tabellen
`inline code`
```python
print("Hallo")
```
| Spalte A | Spalte B |
|----------|----------|
| Wert 1 | Wert 2 |
Praxis-Tipps
- Die meisten Plattformen (GitHub, GitLab, Joomla) unterstützen Markdown direkt oder per Erweiterung.
- Für Sonderzeichen HTML einbetten:
für geschütztes Leerzeichen. - Dateiendung:
.mdoder.markdown.
Verwandte Grundlagen: HTML & CSS und YAML, TOML, JSON.
grep ist der Standardbefehl unter Linux und macOS, um Textmuster (reguläre Ausdrücke) in Dateien und Ausgaben zu suchen. Der Name steht für global regular expression print.
Grundlagen
grep "fehler" logfile.txt # Zeilen mit 'fehler' anzeigen
grep -i "error" *.log # Groß/klein ignorieren
grep -r "TODO" src/ # rekursiv im Verzeichnis suchen
Wichtige Optionen
grep -v "debug" datei # invertieren: Zeilen OHNE Treffer
grep -n "warn" datei # Zeilennummern ausgeben
grep -c "success" datei # nur Anzahl zählen
grep -l "passwort" *.conf # nur Dateinamen ausgeben
grep -E "foo|bar" datei # erweiterte Regex (egrep)
Mit Pipes kombinieren
ps aux | grep ssh # Prozesse filtern
history | grep "git commit" # in der Historie suchen
tail -f app.log | grep "ERROR" # Logs live filtern
Praxis-Tipps
grep -ispart Zeit, wenn die Groß-/Kleinschreibung egal ist.- Für ganze Wörter:
grep -w wort, für echte reguläre Ausdrückegrep -E. - Alternativen je nach Kontext:
rg(ripgrep, schneller) undag(The Silver Searcher).
Verwandte Grundlagen: Bash-Befehle und Regex.
sed (stream editor) ist der Linux-/Unix-Befehl für nicht-interaktive Texttransformation. Er liest einen Text Zeile für Zeile, wendet Regeln an und gibt das Ergebnis aus — ideal für Scripts und Datenpipeline-Verarbeitung.
Grundlagen: Ersetzen
sed 's/alt/neu/' datei.txt # erste Ersetzung je Zeile
sed 's/alt/neu/g' datei.txt # alle Ersetzungen je Zeile (global)
sed -i 's/alt/neu/g' datei.txt # Datei direkt ändern (in-place)
Zeilen auswählen
sed -n '5p' datei.txt # nur Zeile 5 ausgeben
sed -n '10,20p' datei.txt # Zeilen 10 bis 20
sed '1,5d' datei.txt # Zeilen 1-5 löschen
sed -n '/fehler/p' log.txt # nur Zeilen mit 'fehler'
Typische Praxis
sed -i 's/
$//' skript.sh # Windows-Zeilenenden entfernen
sed -i 's/ */ /g' data.txt # mehrfache Leerzeichen bündeln
head -50 app.log | sed -n '1,5p' # in Pipes kombinieren
Praxis-Tipps
- Ohne
-ibleibt die Datei unverändert — erst testen, dann in-place schreiben. - Backup vor In-place-Änderung:
sed -i.bak 's/alt/neu/g' datei. - Trennzeichen sind frei wählbar:
sed 's|/usr|/opt|g'für Pfade mit Schrägstrich. - Mit
sed -Ewerden erweiterte reguläre Ausdrücke aktiviert.
Verwandte Grundlagen: grep-Befehle, awk-Befehle und Bash-Befehle.
awk ist ein mächtiges Textverarbeitungs-Werkzeug unter Linux/Unix, das Zeilen in Felder (Spalten) zerlegt und nach Bedingungen verarbeitet. Der Name stammt von den Initialen der Erfinder Aho, Weinberger und Kernighan.
Grundlagen: Spalten ausgeben
awk '{print $1}' datei.txt # erste Spalte je Zeile
awk '{print $1, $3}' datei.txt # Spalten 1 und 3
awk -F: '{print $1}' /etc/passwd # Trennzeichen ':' statt Leerzeichen
Bedingungen und Zähler
awk '$3 > 100 {print $1}' stat.txt # nur Zeilen, bei denen Spalte 3 > 100
awk '{sum += $2} END {print sum}' daten.txt # Summe aller Spalten-2-Werte
awk '{count++} END {print count}' datei.txt # Zeilen zählen
Typische Praxis
ps aux | awk '{print $2, $11}' # PID und Kommando aller Prozesse
df -h | awk 'NR > 1 {print $5}' # Auslastung ohne Kopfzeile
awk -F, '{print $1}' export.csv # CSV-Spalten extrahieren
Praxis-Tipps
NRist die laufende Zeilennummer,NFdie Anzahl der Felder.BEGIN { ... }läuft vor,END { ... }nach der Verarbeitung — ideal für Summen und Reporte.- awk versteht Gleitkomma: Damit lassen sich Statistiken direkt im Terminal berechnen.
- In HTML-Ausgaben > und < als
>/<schreiben, sonst bricht der Browser den Code.
Verwandte Grundlagen: sed-Befehle, grep-Befehle und Bash-Befehle.
find ist der Linux-/Unix-Befehl, um Dateien und Verzeichnisse nach Name, Typ, Größe, Zeitstempel und Rechten im gesamten Dateisystem zu suchen — viel flexibler als die reine Namenssuche.
Grundlagen
find /var/log -name "*.log" # nach Name mit Wildcard
find . -type f -name "*.conf" # nur Dateien (nicht Verzeichnisse)
find . -type d -name "backup" # nur Verzeichnisse
Nach Größe und Zeit suchen
find /home -size +100M # größer als 100 MB
find . -mtime -7 # in den letzten 7 Tagen geändert
find . -mmin -60 # in der letzten Stunde geändert
Aktionen und Kombinationen
find . -name "*.tmp" -delete # gefundene Dateien löschen
find . -name "*.log" -exec grep -l "ERROR" {} ;
find . -type f | xargs wc -l # Zeilen aller Dateien zählen
Praxis-Tipps
-nameist Groß-/Kleinschreibung-sensitiv,-inameignoriert sie.- Mit
-maxdepth 2die Suche auf zwei Ebenen begrenzen — spart enorm Zeit. - Vor
-deleteimmer erst ohne Option suchen und die Trefferliste prüfen. find . -type f -name "*.tmp" -exec rm {} ;leistet dasselbe wie-delete, ist aber portabler.
Verwandte Grundlagen: grep-Befehle, Bash-Befehle und sed-Befehle.