Linux – Praktische Anleitung
Diese Seite ist als kompakte, aber nützliche Linux-Referenz gedacht.
Alle Beispiele sind generisch und auf die meisten Linux-Distributionen anwendbar
(Debian/Ubuntu, RHEL/Fedora, Arch, Alpine), es sei denn, anders angegeben.
1. Dateistruktur und Navigation
Linux arbeitet mit einer zentralen Baumstruktur (/), nicht mit Laufwerksbuchstaben wie bei Windows.
Wichtige Ordner:
/– Wurzel des Systems/home– persönliche Benutzermappen/etc– Konfigurationsdateien/var– variable Daten (Protokolle, E-Mail, Cache)/usr– Programme und Bibliotheken/tmp– temporäre Dateien/srv– Daten für Dienste (Web, Anwendungen)
Die Navigation erfolgt vollständig über das Terminal. Du arbeitest immer aus einem "aktuellen Verzeichnis".
Den aktuellen Pfad anzeigen:
pwd
Dateien und Ordner im aktuellen Verzeichnis anzeigen:
ls
ls -lah
Optionen:
-lzeigt eine Listenansicht an-azeigt auch versteckte Dateien an-hmacht Größen lesbar
Verschieben durch die Ordnerstruktur:
cd /path/to/folder
cd ..
cd ~
2. Dateien und Ordner verwalten
Dateien und Ordner werden vollständig über Befehle erstellt, verschoben und gelöscht.
Einen Ordner erstellen:
mkdir folder
mkdir -p a/b/c
-p sorgt dafür, dass auch fehlende Zwischenordner erstellt werden.
Eine leere Datei erstellen oder den Zeitstempel aktualisieren:
touch file.txt
Dateien oder Ordner kopieren:
cp source dest
cp -a source dest
-a (Archiv) behält Rechte, Eigentum und Symlinks und wird fast immer empfohlen.
Dateien oder Ordner verschieben oder umbenennen:
mv old new
Dateien und Ordner löschen:
rm file
rm -r folder
rm -rf folder
-r= rekursiv-f= erzwungen, ohne Bestätigung
Verwende rm -rf nur, wenn du dir sicher bist, was du tust.
Einen symbolischen Link erstellen:
ln -s target link
3. Dateien anzeigen und lesen
Für die Anzeige von Dateien stehen verschiedene Werkzeuge zur Verfügung, abhängig von Größe und Verwendung.
Den gesamten Inhalt anzeigen:
cat file
Geeignet für kleine Dateien.
Interaktiv ansehen (scrollen und suchen):
less file
Die ersten oder letzten Zeilen ansehen:
head -n 20 file
tail -n 20 file
Eine Datei live verfolgen (zum Beispiel Protokolle):
tail -f /var/log/syslog
4. Suchen und Filtern von Text
Linux bietet leistungsstarke Werkzeuge zum Suchen und Filtern von Text, insbesondere in Protokollen und Konfigurationsdateien.
Text suchen:
grep "text" file
grep -R "text" folder
grep -Rni "tekst" folder
Optionen:
-R= rekursiv-n= Zeilennummer-i= groß-/kleinschreibung ignorierend
Dateien nach Namen suchen:
find . -name "*.log"
Dateien nach Änderungsdatum suchen:
find . -type f -mtime -7
Spalten oder Felder aus Text extrahieren:
awk '{print $1}' file
cut -d: -f1 file
5. Rechte und Eigentum
Linux arbeitet mit Benutzern, Gruppen und Berechtigungen pro Datei.
Rechte ansehen:
ls -l
Rechte anpassen:
chmod 644 file
chmod 755 script.sh
Bedeutung:
644= lesen/schreiben für den Eigentümer, lesen für andere755= ausführbar für alle
Eigentümer und Gruppe anpassen:
chown user:group file
Aktueller Benutzer und Gruppen anzeigen:
id
groups
6. Prozesse und Systemstatus
Linux bietet umfassende Einblicke in aktive Prozesse und Systemnutzung.
Alle Prozesse anzeigen:
ps aux
Live-Übersicht von CPU und Speicher:
top
htop
Speicherverbrauch anzeigen:
free -h
Speicherplatz pro Dateisystem:
df -h
Größe eines Ordners:
du -sh folder
Einen Prozess beenden:
kill PID
kill -9 PID
-9 zwingt zum Schließen und sollte nur als letztes Mittel verwendet werden.
7. Netzwerk und Konnektivität
Netzwerkstatus und Konnektivität sind entscheidend für Server und Anwendungen.
Netzwerkschnittstellen und Routen:
ip a
ip r
Lauschende Ports und Prozesse:
ss -tulpn
Netzwerkverbindung testen:
ping domain.tld
HTTP-Anfragen ausführen:
curl https://site.tld
curl -I https://site.tld
DNS-Information abfragen:
dig domain.tld
Überprüfen, ob ein Port erreichbar ist:
nc -vz host 443
8. Dienste und Protokolle (systemd)
Die meisten modernen Linux-Systeme verwenden systemd zur Serviceverwaltung.
Status und Verwaltung von Diensten:
systemctl status service
systemctl start service
systemctl stop service
systemctl restart service
systemctl reload service
Dienste automatisch beim Booten starten:
systemctl enable service
systemctl disable service
Logs anzeigen:
journalctl -u service
journalctl -u service -f
journalctl -p err
9. Paketmanager
Software wird über den Paketmanager der Distribution installiert.
Debian / Ubuntu (apt)
apt update
apt install package
apt remove package
apt purge package
apt autoremove
RHEL / Fedora (dnf)
dnf install package
dnf remove package
dnf search package
Arch (pacman)
pacman -S package
pacman -Rns package
pacman -Syu
Alpine (apk)
apk add package
apk del package
10. Git – Versionskontrolle
Git wird zur Versionskontrolle von Code und Konfiguration verwendet.
Basisbefehle:
git init
git clone url
git status
git add .
git commit -m "description"
Synchronisieren mit einem Remote:
git pull --rebase
git push
Einblick in Änderungen:
git log --oneline --graph
git diff
11. Docker – Container
Docker ermöglicht es, Anwendungen isoliert auszuführen.
Bilder in Containern verwalten:
docker pull image
docker images
docker ps
docker ps -a
Einen Container starten und verwalten:
docker run -d -p 8080:80 image
docker logs container
docker exec -it container sh
Docker Compose:
docker compose up -d
docker compose down
12. Grundsicherheit
Eine minimale Sicherheitsbasis ist entscheidend, insbesondere auf Servern.
Firewall (Ubuntu):
ufw status
ufw allow 22
ufw enable
Nftables (niedrigstufige Firewall):
nft list ruleset
Schutz gegen Brute-Force-Angriffe:
fail2ban-client status
Automatische Sicherheitsupdates:
apt install unattended-upgrades
13. Häufig verwendete Hilfsprogramme
curl,wget– HTTP-Anfragenjq– JSON verarbeitenrsync– effiziente Dateisynchronisationtmux– mehrere Shells in einer Sitzungncdu– Festplattenspeicher analysierenlsof– offene Dateien und Portstcpdump– Netzwerkverkehr inspizieren
