Linux für Einsteiger – Vollständiger Leitfaden

🛠️ Empfohlene Tools für Entwickler

Diese Tools nutze ich selbst – sie helfen Ihnen, Ihre Projekte professionell umzusetzen und zu vermarkten.

⚡ ExeOutput for PHP

PHP-Anwendungen in eigenständige Windows-EXE-Dateien kompilieren.

Jetzt ansehen →

📄 HTML Executable

HTML-Dateien und Websites als eigenständige Windows-EXE-Dateien kompilieren.

Jetzt ansehen →

🔒 XLS Padlock

Excel-Arbeitsmappen als EXE kompilieren und schützen.

Jetzt ansehen →

🐍 VBA Padlock

VBA-Code kompilieren und Office-Lösungen verkaufen.

Jetzt ansehen →

📦 Paquet Builder

Professionelle Windows-Installationsprogramme erstellen.

Jetzt ansehen →

* Affiliate-Links: Bei einem Kauf über diese Links erhalten wir eine kleine Provision – für Sie entstehen keine zusätzlichen Kosten.

1. Was ist Linux?

Linux ist ein freies und quelloffenes Betriebssystem, das von Linus Torvalds 1991 entwickelt wurde. Es basiert auf dem Unix-Betriebssystem und ist heute die Grundlage für:

  • Mehr als 90 % aller Web-Server weltweit
  • Die meisten Cloud-Infrastrukturen (AWS, Google Cloud, Azure)
  • Supercomputer – alle Top-500-Supercomputer laufen mit Linux
  • Smartphones (Android basiert auf Linux)
  • Embedded-Systeme (Router, Smart-TVs, IoT-Geräte)
💡 Merke: Linux ist überall – als Web-Entwickler werden Sie fast täglich mit Linux-Servern arbeiten. Je besser Sie Linux kennen, desto einfacher wird Ihre Arbeit!

🔑 Die 5 wichtigsten Eigenschaften von Linux

  • Frei & Open Source: Der Quellcode ist öffentlich einsehbar und kann frei genutzt werden.
  • Stabil & Sicher: Linux-Systeme laufen oft jahrelang ohne Neustart.
  • Mehrbenutzerfähig: Mehrere Nutzer können gleichzeitig arbeiten.
  • Befehlszeilenorientiert: Das Terminal ist das mächtigste Werkzeug.
  • Modular: Sie können nur das installieren, was Sie wirklich brauchen.

2. Warum Linux für Web-Entwicklung?

✅ Fakt: Die meisten Web-Anwendungen laufen auf Linux-Servern – von kleinen Blogs bis zu riesigen Plattformen wie Google, Facebook oder Amazon.

📌 Vorteile von Linux für Entwickler

  • Kostenlos: Keine Lizenzgebühren – ideal für Start-ups und Privatprojekte
  • PHP, MySQL, Apache & Co: Der klassische LAMP-Stack läuft perfekt unter Linux
  • SSH-Zugriff: Sie können Server von überall aus verwalten
  • Automatisierung: Mit Cron-Jobs können Sie Aufgaben automatisch ausführen lassen
  • Performance: Linux ist ressourcenschonend und hoch performant
  • Große Community: Tausende von Tutorials und Foren helfen bei Problemen
💡 Tipp: Viele Entwickler nutzen Linux auch lokal als Arbeitsumgebung – entweder als Hauptbetriebssystem oder in einer virtuellen Maschine.

3. Linux-Distributionen

Distributionen sind verschiedene "Versionen" von Linux, die unterschiedliche Schwerpunkte haben. Hier sind die wichtigsten:

Distribution Beschreibung Für wen?
Ubuntu Benutzerfreundlich, große Community, viele Tutorials Einsteiger, Entwickler, Desktop
Debian Sehr stabil, konservativ, großer Paketkatalog Server, fortgeschrittene Nutzer
CentOS / RHEL Sehr stabil, Unternehmensstandard Große Server, Unternehmen
Fedora Modern, immer aktuelle Software Entwickler, moderne Workstations
Alpine Linux Sehr klein (nur 5 MB), sicher, schnell Container, Docker, IoT
Linux Mint Besonders benutzerfreundlich, wie Windows Einsteiger, Umsteiger von Windows
💡 Empfehlung für Einsteiger: Starten Sie mit Ubuntu – es gibt die meisten Tutorials und die größte Community.

4. Das Terminal – Ihre Kommandozentrale

Das Terminal (auch Shell oder Kommandozeile genannt) ist das Herzstück von Linux. Hier geben Sie Befehle ein, die der Computer ausführt.

💡 Gut zu wissen: Auf Servern gibt es oft keine grafische Oberfläche – Sie arbeiten nur über das Terminal. Das ist der Grund, warum Sie die wichtigsten Befehle lernen sollten!

📌 So öffnen Sie das Terminal

  • Ubuntu / Debian: Strg + Alt + T oder im Menü "Terminal" suchen
  • macOS: "Terminal" in der Spotlight-Suche (Cmd + Leertaste)
  • Windows: WSL (Windows Subsystem for Linux) oder Putty für SSH-Verbindungen

🔍 Die Prompt – Ihr Signal zum Befehlen

user@server:~$

Die Prompt zeigt an, dass Sie Befehle eingeben können:

  • user – Ihr Benutzername
  • server – Der Name des Computers
  • ~ – Ihr aktuelles Verzeichnis (Home-Ordner)
  • $ – Sie sind ein normaler Benutzer (# wäre der Root-Administrator)

5. Die wichtigsten Befehle

Hier sind die absolut wichtigsten Befehle, die Sie als Web-Entwickler täglich brauchen:

ls
Listet alle Dateien und Ordner im aktuellen Verzeichnis auf
ls -la → Alle Dateien (auch versteckte) anzeigen
cd
Wechselt in ein anderes Verzeichnis
cd /var/www/html → Ins Web-Verzeichnis wechseln
pwd
Zeigt den aktuellen Pfad ("Wo bin ich?")
pwd → /home/benutzer/projekte
mkdir
Erstellt einen neuen Ordner
mkdir webprojekt → Erstellt Ordner "webprojekt"
touch
Erstellt eine leere Datei
touch index.html → Erstellt index.html
rm
Löscht Dateien oder Ordner (⚠️ Vorsicht!)
rm -rf ordner/ → Löscht Ordner komplett
cp
Kopiert Dateien oder Ordner
cp datei.txt backup.txt → Kopiert die Datei
mv
Verschiebt oder benennt Dateien um
mv alt.html neu.html → Benennt die Datei um
cat
Zeigt den Inhalt einer Datei an
cat index.html → Zeigt den Inhalt von index.html
nano
Einfacher Text-Editor im Terminal
nano index.html → Öffnet Datei zum Bearbeiten
sudo
Führt Befehle mit Administrator-Rechten aus
sudo apt update → Aktualisiert die Paketlisten
history
Zeigt die letzten Befehle an
history → Alle bisherigen Befehle anzeigen
⚠️ Achtung: Befehle mit rm -rf löschen endgültig ohne Möglichkeit der Wiederherstellung. Seien Sie immer vorsichtig!

6. Dateien & Ordner verwalten

📁 Die Linux-Verzeichnisstruktur

Verzeichnis Beschreibung
/ Das Wurzelverzeichnis – alles beginnt hier
/home/ Benutzerverzeichnisse (z.B. /home/benutzer)
/var/www/html/ Das Standard-Verzeichnis für Webseiten (Apache)
/etc/ System-Konfigurationsdateien
/var/log/ Log-Dateien (Fehler- und Zugriffsprotokolle)
/tmp/ Temporäre Dateien (werden beim Neustart gelöscht)
/usr/bin/ Installierte Programme

📝 Praxis: Eine Webseite erstellen

📄 terminal
# 1. Ins Web-Verzeichnis wechseln
cd /var/www/html

# 2. Einen neuen Ordner für Ihr Projekt erstellen
mkdir mein-webprojekt

# 3. In den neuen Ordner wechseln
cd mein-webprojekt

# 4. Eine HTML-Datei erstellen
touch index.html

# 5. Den Inhalt der Datei mit nano bearbeiten
nano index.html
💡 Tipp: Mit nano können Sie Dateien direkt im Terminal bearbeiten. Speichern mit Strg+O, beenden mit Strg+X.

7. Berechtigungen verstehen

Unter Linux hat jede Datei und jeder Ordner Berechtigungen, die festlegen, wer sie lesen, schreiben oder ausführen darf.

🔑 Die drei Berechtigungsstufen

Stufe Bedeutung Symbol
Lesen Datei anzeigen / Ordnerinhalt anzeigen r
Schreiben Datei ändern / Dateien in Ordner erstellen/löschen w
Ausführen Datei als Programm ausführen / in Ordner wechseln x

👤 Die drei Benutzergruppen

  • Benutzer (u): Der Besitzer der Datei
  • Gruppe (g): Benutzer in derselben Gruppe
  • Andere (o): Alle anderen Benutzer

📝 Beispiel: Berechtigungen anzeigen

# Berechtigungen anzeigen
ls -la

# Ausgabe: -rw-r--r-- 1 benutzer gruppe 1234 Mär 12 10:00 datei.txt
# Bedeutung: Besitzer hat r+w, Gruppe hat r, Andere haben r

🛠️ Berechtigungen ändern

# Der Besitzer bekommt Ausführungsrechte
chmod u+x datei.sh

# Alle bekommen Leserechte
chmod a+r datei.txt

# Numerisch: 755 = rwxr-xr-x
chmod 755 mein-ordner
💡 Tipp für Web-Entwickler: Web-Verzeichnisse sollten oft 755 haben, Dateien 644. Das bedeutet: Besitzer kann alles, andere können nur lesen.

8. Prozesse & System-Überwachung

📊 Prozesse anzeigen

top
Echtzeit-Übersicht aller laufenden Prozesse
top → Interaktive Prozess-Übersicht
htop
Bessere, farbige Version von top (muss installiert werden)
sudo apt install htop
ps aux
Liste aller laufenden Prozesse
ps aux | grep apache → Apache-Prozesse filtern
kill
Beendet einen Prozess
kill 1234 → Prozess mit ID 1234 beenden

💾 Festplatten-Speicher überwachen

# Speicherplatz anzeigen
df -h

# Größe von Verzeichnissen anzeigen
du -sh /var/www/html/

# 10 größte Dateien im aktuellen Ordner finden
du -ah . | sort -rh | head -n 10
⚠️ Wichtig: Wenn der Speicherplatz voll ist, kann der Server abstürzen. Überwachen Sie immer den freien Speicherplatz!

9. Paketverwaltung (Software installieren)

Unter Linux installieren Sie Software über die Paketverwaltung. Das ist wie ein App-Store für Linux.

📦 Ubuntu / Debian (apt)

sudo apt update
Paketlisten aktualisieren
sudo apt upgrade
Alle installierten Pakete aktualisieren
sudo apt install
Ein Paket installieren (z.B. apache2)
sudo apt remove
Ein Paket deinstallieren
apt search
Nach einem Paket suchen
apt list --installed
Alle installierten Pakete anzeigen

📦 Praktische Beispiele

# Apache-Webserver installieren
sudo apt install apache2

# MySQL-Datenbank installieren
sudo apt install mysql-server

# PHP installieren (für Web-Entwicklung)
sudo apt install php php-mysql

# Git installieren (Versionskontrolle)
sudo apt install git

# htop (bessere Prozessübersicht) installieren
sudo apt install htop
✅ Merke: Mit sudo apt install installieren Sie fast alles, was Sie für die Web-Entwicklung brauchen!

10. Web-Server einrichten

So installieren Sie einen kompletten Web-Server mit Apache, MySQL und PHP (der sogenannte LAMP-Stack – Linux, Apache, MySQL, PHP).

🖥️ Schritt-für-Schritt

# 1. Apache installieren
sudo apt update
sudo apt install apache2

# 2. Apache starten
sudo systemctl start apache2
sudo systemctl enable apache2  # Automatisch starten

# 3. MySQL installieren
sudo apt install mysql-server
sudo mysql_secure_installation  # Sicherheitseinstellungen

# 4. PHP installieren
sudo apt install php php-mysql php-curl php-xml php-mbstring

# 5. Apache neu starten
sudo systemctl restart apache2

# 6. Test: PHP-Info erstellen
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

# 7. Im Browser aufrufen: http://ihre-server-ip/info.php
💡 Tipp: Wenn Sie lokal üben möchten, nutzen Sie VirtualBox mit Ubuntu oder eine Cloud-Instanz bei DigitalOcean, AWS oder Linode (oft kostenlos für Einsteiger).

📂 Wo liegen die Web-Dateien?

  • Standard-Verzeichnis: /var/www/html/
  • Eigene Projekte: /var/www/html/mein-projekt/
  • Virtuelle Hosts: /etc/apache2/sites-available/

11. Praxis-Beispiele

📝 Beispiel 1: Web-Projekt lokal erstellen

# Projekt-Ordner erstellen
mkdir -p ~/projekte/mein-website
cd ~/projekte/mein-website

# Index-Datei erstellen
echo '<!DOCTYPE html>
<html><head><title>Meine Seite</title></head>
<body><h1>Hallo Welt!</h1></body></html>' > index.html

# Datei im Browser öffnen (Desktop)
xdg-open index.html

📝 Beispiel 2: Log-Dateien analysieren

# Zugriffs-Log anzeigen (letzte 10 Zeilen)
tail -n 10 /var/log/apache2/access.log

# Fehler-Log in Echtzeit anzeigen
tail -f /var/log/apache2/error.log

# Nach Fehlern suchen
grep "error" /var/log/apache2/error.log

📝 Beispiel 3: Backup eines Projekts erstellen

# Projekt als ZIP archivieren
zip -r mein-projekt-backup.zip /var/www/html/mein-projekt/

# Mit Datum im Dateinamen
zip -r backup-$(date +%Y-%m-%d).zip /var/www/html/mein-projekt/

📝 Beispiel 4: Cron-Job für automatische Backups

# Cron-Tabelle bearbeiten
crontab -e

# Jeden Tag um 3:00 Uhr Backup erstellen
0 3 * * * /usr/bin/zip -r /backups/webprojekt-$(date +\%Y-\%m-\%d).zip /var/www/html/

12. Übungen zum Mitmachen

📝 Übung 1: Erste Schritte

Öffnen Sie das Terminal und führen Sie diese Befehle aus:

  • Zeigen Sie an, wo Sie sich gerade befinden.
  • Erstellen Sie einen Ordner mit Ihrem Namen.
  • Wechseln Sie in diesen Ordner.
  • Erstellen Sie eine leere Datei mit dem Namen "test.txt".
💡 Lösung:
pwd
mkdir mein-Ordner
cd mein-Ordner
touch test.txt

📝 Übung 2: Berechtigungen

Erstellen Sie ein Shell-Skript (eine Textdatei mit dem Inhalt "#!/bin/bash\necho Hallo") und machen Sie es ausführbar.

💡 Lösung:
echo '#!/bin/bash
echo Hallo' > mein-skript.sh
chmod +x mein-skript.sh
./mein-skript.sh  # Ausführen

📝 Übung 3: Prozesse

Finden Sie heraus, ob der Apache-Webserver läuft. Wenn nicht, starten Sie ihn.

💡 Lösung:
ps aux | grep apache
# Oder:
systemctl status apache2
# Wenn nicht läuft:
sudo systemctl start apache2

📝 Übung 4: Pakete installieren

Installieren Sie den Editor "nano" (falls nicht installiert) und erstellen Sie damit eine HTML-Datei.

💡 Lösung:
sudo apt install nano
nano index.html
# Inhalt einfügen, speichern mit Strg+O, beenden mit Strg+X

📝 Übung 5: Log-Dateien

Zeigen Sie die letzten 5 Einträge der Apache-Fehler-Log-Datei an.

💡 Lösung:
tail -n 5 /var/log/apache2/error.log

📝 Übung 6: Verzeichnisstruktur

Erstellen Sie eine Projekthierarchie: "projekte/website/css/", "projekte/website/js/" und "projekte/website/images/".

💡 Lösung:
mkdir -p projekte/website/{css,js,images}

13. Tipps & Best Practices

✅ Terminal-Tipp: Die Tab-Taste ist Ihr Freund! Drücken Sie Tab, um Dateinamen und Befehle automatisch zu vervollständigen.
✅ Verlauf nutzen: Mit den Pfeiltasten (↑/↓) rufen Sie frühere Befehle auf – das spart viel Zeit!
⚠️ Root-Rechte: Verwenden Sie sudo nur, wenn es wirklich nötig ist. Arbeiten Sie möglichst immer als normaler Benutzer.
✅ Befehle verketten: Mit && können Sie mehrere Befehle hintereinander ausführen: cd projekt && ls -la
✅ Hilfe anzeigen: Fast jeder Befehl hat eine eingebaute Hilfe: man ls (Handbuch) oder ls --help
✅ SSH-Verbindungen: Für die Arbeit mit entfernten Servern nutzen Sie SSH: ssh benutzer@server-ip
⚠️ Niemals als Root arbeiten! Wenn Sie als Root (Administrator) arbeiten, können Sie mit einem falschen Befehl das gesamte System zerstören.
🚀 Fortgeschrittenen-Tipp: Lernen Sie Bash-Scripting, um wiederkehrende Aufgaben zu automatisieren – das spart Stunden!

14. Weiterführende Ressourcen

📚 Online-Lernplattformen

  • Linux Journey – Interaktive Lernreise durch Linux (kostenlos)
  • Linux Command Line Tutorial – Schritt-für-Schritt-Anleitung
  • Ubuntu Server Guide – Offizielle Dokumentation von Ubuntu
  • Linux Foundation – Kostenlose Einführungskurse

📖 Empfohlene Bücher

  • "Linux – Das umfassende Handbuch" – Michael Kofler
  • "The Linux Command Line" – William Shotts (kostenlos online)
  • "Linux für Dummies" – Richard Blum
  • "Ubuntu Server Guide" – Offizielle Ubuntu-Dokumentation

🛠️ Nützliche Tools

  • VirtualBox – Virtuelle Maschinen für lokale Linux-Installationen
  • WSL (Windows Subsystem for Linux) – Linux unter Windows nutzen
  • PuTTY – SSH-Client für Windows
  • MobaXterm – All-in-One Remote-Client (Windows)
  • VS Code mit Remote-SSH – Code auf entfernten Servern bearbeiten

🌐 Online-Übungs-Umgebungen

  • LinuxZoo – Kostenlose Linux-Shell zum Üben im Browser
  • Terminus – Web-basierte Linux-Umgebung
  • Google Cloud Shell – Kostenlose Linux-Umgebung von Google
  • DigitalOcean Droplets – Günstige VPS zum Üben (ab 4€/Monat)
💡 Tipp für die Praxis: Starten Sie ein eigenes Server-Projekt! Mieten Sie für wenige Euro im Monat einen VPS und richten Sie Ihre eigene Webseite ein. Das ist die beste Art, Linux wirklich zu lernen!
← Zurück zu den Grundlagen
Datenschutz-Übersicht
digitale-start-hilfe.de

Auf dieser Website werden Cookies verwendet, um deine Nutzererfahrung zu verbessern. Du kannst in den {setting}Einstellungen{/setting} mehr erfahren oder Cookies jederzeit ablehnen.

Eine vollständige Liste aller Cookies findest du in unserer Cookie-Erklärung.

Weitere Informationen findest du in unserer Datenschutzerklärung.

Notwendige Cookies & Chatbot

Diese Cookies sind für den Betrieb der Website unbedingt erforderlich und können nicht deaktiviert werden. Dazu gehören auch grundlegende Funktionen wie der WebChatAgent (Chatbot) von WebChatAgent.com, der die direkte Kommunikation mit uns ermöglicht.