Downloads & nützliche Skripte
Hier findest du kleine Bash-Skripte, die du herunterladen, anpassen und als Lernmaterial verwenden kannst. Alle Skripte stehen unter der MIT-Lizenz — du darfst sie frei verwenden und verändern.
chmod +x skript.sh und starte es mit ./skript.sh. Mehr dazu im Tutorial Shellscripts schreiben.backup-home.sh — Home-Verzeichnis sichern
Erstellt ein inkrementelles Backup deines Home-Verzeichnisses auf eine externe Festplatte. Nutzt rsync mit sinnvollen Excludes und schreibt ein Log.
#!/bin/bash
# backup-home.sh — Home-Backup mit rsync
# Anpassen: ZIEL auf dein Backup-Medium setzen
set -euo pipefail
QUELLE="$HOME/"
ZIEL="/media/$USER/backup/home-backup/"
LOG="$HOME/backup-$(date +%Y%m%d).log"
echo "Starte Backup: $(date)" | tee "$LOG"
rsync -avh --delete --exclude='.cache' --exclude='.local/share/Trash' --exclude='snap/*/common/.cache' "$QUELLE" "$ZIEL" 2>&1 | tee -a "$LOG"
echo "Fertig: $(date)" | tee -a "$LOG"
Mehr zu rsync: Backups mit rsync
aufraeumen.sh — System aufräumen
Räumt apt-Cache, alte Kernel, Papierkorb und systemd-Logs auf. Fragt vor jedem Schritt nach Bestätigung.
#!/bin/bash
# aufraeumen.sh — Linux aufräumen mit Bestätigung
fragen() {
read -p "$1 (j/n) " antwort
[[ "$antwort" == "j" ]]
}
echo "=== Speicher vorher ==="
df -h /
if fragen "apt-Cache leeren?"; then
sudo apt clean
sudo apt autoremove -y
fi
if fragen "Papierkorb leeren?"; then
rm -rf ~/.local/share/Trash/*
fi
if fragen "Journal auf 100 MB begrenzen?"; then
sudo journalctl --vacuum-size=100M
fi
echo "=== Speicher nachher ==="
df -h /
Ausführliche Erklärung: Linux aufräumen
systembericht.sh — Schneller Systembericht
Gibt einen kompakten Überblick über dein System: Distribution, Kernel, CPU, RAM, Festplatte und Uptime.
#!/bin/bash
# systembericht.sh — Systeminformationen auf einen Blick
echo "=== Systembericht $(date +%Y-%m-%d) ==="
echo ""
echo "Distribution: $(lsb_release -ds 2>/dev/null || cat /etc/os-release | grep PRETTY_NAME | cut -d= -f2 | tr -d '"')"
echo "Kernel: $(uname -r)"
echo "CPU: $(grep -m1 'model name' /proc/cpuinfo | cut -d: -f2 | xargs)"
echo "RAM: $(free -h | awk '/Mem:/ {print $2 " gesamt, " $3 " belegt, " $7 " verfügbar"}')"
echo "Festplatte: $(df -h / | awk 'NR==2 {print $3 " belegt von " $2 " (" $5 ")"}')"
echo "Uptime: $(uptime -p)"
bilder-komprimieren.sh — Fotos verkleinern
Verkleinert alle JPEG-Bilder im aktuellen Ordner auf maximal 1920 Pixel Breite und komprimiert sie auf 85% Qualität. Benötigt ImageMagick (sudo apt install imagemagick).
#!/bin/bash
# bilder-komprimieren.sh — JPEGs verkleinern
# Benötigt: imagemagick (sudo apt install imagemagick)
set -euo pipefail
MAXBREITE=1920
QUALITAET=85
ZAEHLER=0
for bild in *.jpg *.jpeg *.JPG *.JPEG; do
[ -f "$bild" ] || continue
echo "Verarbeite: $bild"
convert "$bild" -resize "${MAXBREITE}x>" -quality $QUALITAET "$bild"
((ZAEHLER++))
done
echo "Fertig: $ZAEHLER Bilder komprimiert."
Mehr zu Befehlen wie for und set: Shellscripts schreiben