🐧 Linux-Befehlszeile
Grundlegende und fortgeschrittene Befehle für Navigation, Dateien, Prozesse, Netzwerke, Überwachung, Pakete und Automatisierung. Geeignet für DevOps-Workflows.
🔹 Grundlegende Befehle
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| cat | Dateiinhalt anzeigen oder mehrere Dateien verketten | |
| cat file.txt | Dateiinhalt anzeigen | |
| cat file1 file2 | Zwei Dateien verketten und ausgeben | |
| cat file1 file2 > merged.txt | Dateien verketten und in eine neue Datei speichern | |
| cd | Das aktuelle Arbeitsverzeichnis ändern | |
| cd /etc | Zum absoluten Pfad  | |
| cd ~ | Zum Home-Verzeichnis wechseln | |
| cd .. | Eine Ebene nach oben wechseln | |
| cd - | Zum vorherigen Verzeichnis zurückkehren | |
| clear | Den Terminalbildschirm löschen | |
| cp | Dateien und Verzeichnisse kopieren | |
| cp file1.txt file2.txt | Eine Datei mit neuem Namen kopieren | |
| cp -r dir1 dir2 | Ein Verzeichnis rekursiv kopieren | |
| cp -i file.txt /tmp/ | Mit Bestätigung vor dem Überschreiben kopieren | |
| echo | Einen String oder eine Umgebungsvariable ausgeben | |
| echo "Hello, World!" | Einen einfachen String ausgeben | |
| echo $HOME | Den Pfad des Home-Verzeichnisses anzeigen | |
| echo -e "1\t2\n3" | Escape-Sequenzen interpretieren ( ) | |
| history | Befehlshistorie anzeigen | |
| id | UID, GID und Gruppenmitgliedschaften des aktuellen Benutzers anzeigen | |
| ls | Dateien und Verzeichnisse auflisten | |
| ls -l | Detaillierte Liste mit Rechten und Besitzern | |
| ls -a | Versteckte Dateien anzeigen | |
| ls -lh | Menschenlesbare Größen anzeigen | |
| mkdir | Verzeichnisse erstellen | |
| mkdir folder | Ein einzelnes Verzeichnis erstellen | |
| mkdir -p a/b/c | Verschachtelte Verzeichnisse erstellen | |
| mkdir dir{1,2,3} | Mehrere Verzeichnisse auf einmal erstellen | |
| mv | Dateien/Verzeichnisse verschieben oder umbenennen | |
| mv oldname.txt newname.txt | Eine Datei umbenennen | |
| mv file.txt /path/to/dir/ | Eine Datei in ein anderes Verzeichnis verschieben | |
| mv *.txt archive/ | Alle  | |
| pwd | Das aktuelle Arbeitsverzeichnis anzeigen | |
| pwd -P | Den physischen Pfad anzeigen (keine Symlinks) | |
| cd /tmp && pwd | Pfad nach Wechsel zu  | |
| rm | Dateien oder Verzeichnisse löschen | |
| rm file.txt | Eine Datei löschen | |
| rm -i file.txt | Eine Datei mit Bestätigung löschen | |
| rm -r folder/ | Ein Verzeichnis rekursiv löschen | |
| rm -rf folder/ | Löschen ohne Bestätigung erzwingen | |
| rmdir | Ein leeres Verzeichnis löschen | |
| rmdir emptydir | Das Verzeichnis  | |
| touch | Leere Dateien erstellen oder Zeitstempel ändern | |
| touch newfile.txt | Eine neue leere Datei erstellen, falls nicht vorhanden | |
| touch a b c | Mehrere Dateien auf einmal erstellen | |
| touch -c file.txt | Zeitstempel aktualisieren, ohne Datei zu erstellen | |
| whereis | Binärdatei, Quellcode und Handbuchseiten eines Befehls finden | |
| whereis ls | Speicherorte für  | |
| whereis bash | Pfade für Bash-Binärdatei und Dokumentation anzeigen | |
| whereis -b bash | Nur nach der Binärdatei suchen | |
| which | Den Pfad der ausführbaren Datei eines Befehls anzeigen | |
| which python3 | Pfad zu  | |
| which grep | Pfad zu  | |
| which --skip-alias ls | Aliase bei der Suche überspringen | |
| whoami | Den effektiven Benutzernamen anzeigen | 
🔸 Befehle mittlerer Stufe
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| chmod | Datei- oder Verzeichnisrechte ändern | |
| chmod 755 file | Rechte mit oktaler Notation setzen (z. B. 755) | |
| chmod +x script.sh | Das Ausführungsbit zu einem Skript hinzufügen | |
| chmod -R 644 dir/ | Rechte in einem Verzeichnis rekursiv setzen | |
| chown | Dateibesitzer und Gruppe ändern | |
| chown user file | Den Besitzer einer Datei ändern | |
| chown user:group file | Besitzer und Gruppe ändern | |
| chown -R user:group dir/ | Besitzer und Gruppe rekursiv ändern | |
| curl | Daten von/zu einem Server übertragen (HTTP, HTTPS usw.) | |
| curl -I https://example.com | Eine HEAD-Anfrage senden (nur Header) | |
| curl -O https://example.com/file.txt | Eine Datei herunterladen und ihren Namen beibehalten | |
| curl -d "a=1&b=2" -X POST URL | Eine POST-Anfrage mit Formulardaten senden | |
| df | Speichernutzung des Dateisystems anzeigen | |
| df -h | Menschenlesbare Größen anzeigen | |
| df /home | Nutzung eines bestimmten Mountpoints anzeigen | |
| df -T | Dateisystemtypen anzeigen | |
| diff | Dateien oder Verzeichnisse vergleichen | |
| diff file1 file2 | Zwei Dateien vergleichen | |
| diff -u old.c new.c | Einheitlicher Diff (Patch-Stil) | |
| diff -r dir1 dir2 | Verzeichnisse rekursiv vergleichen | |
| du | Speichernutzung von Dateien und Verzeichnissen schätzen | |
| du -sh * | Größe der Elemente im aktuellen Verzeichnis anzeigen | |
| du -h file.txt | Größe einer einzelnen Datei anzeigen | |
| du -sh --max-depth=1 /var | Größen von Unterverzeichnissen zusammenfassen | |
| find | Dateien/Verzeichnisse nach Name, Größe, Zeit usw. suchen | |
| find . -name "*.log" | Alle  | |
| find / -type f -size +100M | Dateien größer als 100 MB finden | |
| find . -mtime -1 | Dateien, die innerhalb des letzten Tages geändert wurden | |
| free | Freien und belegten Speicher anzeigen | |
| free -h | Speicher in menschenlesbaren Einheiten | |
| free -m | Werte in MB anzeigen | |
| watch -n 2 free -h | Ausgabe alle 2 Sekunden aktualisieren | |
| grep | Text mit Mustern (Regulären Ausdrücken) durchsuchen | |
| grep "error" logfile | Zeilen mit  | |
| grep -r "error" /var/log | Rekursiv in einem Verzeichnis suchen | |
| grep -i "fail" file | Groß-/Kleinschreibung ignorieren | |
| head | Die ersten Zeilen einer Datei ausgeben | |
| head -n 10 file | Erste 10 Zeilen | |
| head -n 20 file.txt | Erste 20 Zeilen | |
| head -c 100 file | Erste 100 Bytes | |
| hostname | Den Hostnamen des Systems anzeigen oder setzen | |
| hostname newname | Den Hostnamen temporär bis zum Neustart setzen | |
| hostname -I | IP-Adressen anzeigen | |
| kill | Signale an Prozesse senden | |
| kill -9 1234 | Einen Prozess per PID beenden (erzwingen) | |
| kill -TERM 1234 | Sanft mit SIGTERM beenden | |
| pkill -f python | Prozesse nach Muster beenden | |
| ping | Netzwerkkonnektivität mit ICMP-Echo prüfen | |
| ping 8.8.8.8 | Eine Adresse anpingen | |
| ping -c 4 ya.ru | 4 Pakete senden | |
| ping -i 2 1.1.1.1 | 2-Sekunden-Intervall einstellen | |
| ps | Prozessstatus anzeigen | |
| ps aux | Alle Prozesse auflisten | |
| ps -ef | grep nginx | Nach Namen mit  | |
| ps -u $USER | Prozesse des aktuellen Benutzers | |
| rsync | Schneller inkrementeller Dateitransfer | |
| rsync -av src/ dst/ | Verzeichnisse lokal synchronisieren | |
| rsync -avz user@host:/src /dst | Über SSH mit einem Remote-Host synchronisieren | |
| rsync --delete src/ dst/ | Dateien im Ziel löschen, die im Quellordner fehlen | |
| scp | Sichere Kopie (Dateien zu/von Remote-Hosts kopieren) | |
| scp file user@host:/path | Eine Datei auf einen Remote-Host kopieren | |
| scp user@host:/file.txt . | Eine Datei von einem Remote-Host kopieren | |
| scp -r dir user@host:/path | Ein Verzeichnis rekursiv kopieren | |
| sort | Textzeilen sortieren | |
| sort file.txt | Alphabetisch sortieren | |
| sort -r file.txt | In umgekehrter Reihenfolge sortieren | |
| sort -n numbers.txt | Numerisch sortieren | |
| tail | Letzten Teil von Dateien ausgeben; Änderungen verfolgen | |
| tail -f logfile.log | Ein Log in Echtzeit verfolgen | |
| tail -n 20 file.txt | Die letzten 20 Zeilen anzeigen | |
| tail -c 100 file.txt | Die letzten 100 Bytes anzeigen | |
| tar | Tar-Archive erstellen, auflisten oder entpacken | |
| tar -czf archive.tgz dir/ | Ein komprimiertes  | |
| tar -xzf archive.tgz | Ein  | |
| tar -tf archive.tgz | Archivinhalt auflisten | |
| tee | Von stdin lesen und in stdout und Dateien schreiben | |
| echo "test" | tee out.txt | Ausgabe in  | |
| ls | tee list.txt | Ausgabe von  | |
| command | tee -a log.txt | Ausgabe an das Ende von  | |
| top | Linux-Prozesse anzeigen (interaktiver Prozessmonitor) | |
| top | 
 | |
| htop | Alternative interaktive Ansicht ( | |
| top -o %MEM | Nach Speicherverbrauch sortieren | |
| uptime | Systemlaufzeit anzeigen | |
| uptime -p | Schöne Laufzeit-Anzeige | |
| uptime -s | Systemstartzeit anzeigen | |
| wget | Nicht-interaktiver Netzwerk-Downloader | |
| wget https://site.com/file.zip | Eine Datei per URL herunterladen | |
| wget -c file.zip | Abgebrochenen Download fortsetzen | |
| wget -O saved.txt URL | Mit anderem Dateinamen speichern | |
| wc | Zeilen-, Wort- und Byteanzahl von Dateien ausgeben | |
| wc -l file | Zeilen zählen | |
| wc -w file | Wörter zählen | |
| wc -m file | Zeichen zählen | |
| uniq | Doppelte Zeilen (aufeinanderfolgende Duplikate) melden oder entfernen | |
| uniq file.txt | Direkte Duplikate entfernen | |
| sort file | uniq | Duplikate nach Sortierung entfernen | |
| sort file | uniq -c | Vorkommen jeder Zeile zählen | |
| yes | Eine Zeichenkette endlos wiederholen; nützlich für Skripte | |
| yes "y" | command | Immer “y” auf Eingabeaufforderungen antworten | |
| yes | rm -i * | Interaktive Löschungen automatisch bestätigen | |
| yes no | command | Mit “no” auf Eingabeaufforderungen antworten | 
🔧 Erweiterte Befehle
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| at | Einen einmaligen Befehl zu einer bestimmten Zeit planen | |
| at now + 1 minute | Einen Befehl eine Minute ab jetzt ausführen | |
| atq | Ausstehende Jobs auflisten | |
| atrm | Einen ausstehenden Job entfernen | |
| awk | Sprache zum Muster-Scannen und Verarbeiten | |
| awk '{print $1}' file | Die erste Spalte ausgeben | |
| ps aux | awk '$3 > 50' | Prozesse nach CPU-Auslastung filtern | |
| cat file.txt | awk '{print $2}' | Das zweite Feld jeder Zeile ausgeben | |
| awk '/error/ {print $0}' logfile | Zeilen ausgeben, die einem Muster entsprechen | |
| crontab | Cron-Jobs pro Benutzer installieren, auflisten oder entfernen | |
| crontab -e | Crontab des aktuellen Benutzers bearbeiten | |
| crontab -l | Cron-Jobs auflisten | |
| crontab -r | Crontab des aktuellen Benutzers entfernen | |
| cut | Abschnitte aus jeder Zeile von Dateien entfernen oder auswählen | |
| cut -d':' -f1 /etc/passwd | Benutzernamen aus  | |
| echo "a:b:c" | cut -d':' -f2 | Das zweite Feld mit  | |
| cut -c1-5 filename | Zeichen nach Position auswählen | |
| df | Speichernutzung des Dateisystems anzeigen | |
| df -h | Menschenlesbare Größen | |
| df -T | Dateisystemtypen anzeigen | |
| df /home | Nutzung des Home-Verzeichnisses | |
| env | Einen Befehl in einer modifizierten Umgebung ausführen oder Variablen anzeigen | |
| env | grep PATH | PATH-Einträge anzeigen | |
| env -i bash | Eine saubere Shell mit leerer Umgebung starten | |
| export | Umgebungsvariablen für die aktuelle Shell/Sitzung setzen | |
| export VAR=value | Eine Variable für diese Shell setzen | |
| export PATH=$PATH:/new/path | Ein Verzeichnis zu PATH hinzufügen | |
| export -p | Exportierte Variablen auflisten | |
| free | Speichernutzung anzeigen | |
| free -m | In MB anzeigen | |
| free -h | Menschenlesbare Einheiten | |
| free -s 5 | Alle 5 Sekunden aktualisieren | |
| hostnamectl | System-Hostname und verwandte Einstellungen abfragen/ändern | |
| hostnamectl status | Hostname-Status anzeigen | |
| hostnamectl set-hostname newname | Einen neuen statischen Hostnamen setzen | |
| ifconfig/ip | IP-Werkzeuge zur Anzeige/Verwaltung von Schnittstellen und Adressen | |
| ifconfig | Netzwerkschnittstellen anzeigen (Legacy) | |
| ip a | Adressen mit  | |
| ip link set eth0 up | Eine Schnittstelle aktivieren | |
| iostat | CPU- und I/O-Statistiken anzeigen | |
| iostat -x 2 | Erweiterte Statistiken alle 2 Sekunden | |
| iostat -d 5 3 | Gerätestatistiken (5s-Intervall, 3 Berichte) | |
| iptables | Verwaltung von IPv4-Paketfilterung und NAT | |
| iptables -L | Aktuelle Regeln auflisten | |
| iptables -A INPUT -p tcp --dport 22 -j ACCEPT | Eingehendes SSH auf Port 22 erlauben | |
| iptables -F | Alle Regeln löschen | |
| journalctl | Das systemd-Journal abfragen | |
| journalctl -xe | Neueste Fehler mit Kontext anzeigen | |
| journalctl -u nginx.service | Logs für einen Dienst anzeigen | |
| journalctl --since "2 hours ago" | Logs seit einer relativen Zeit anzeigen | |
| ln | Links zwischen Dateien erstellen | |
| ln -s target link | Einen symbolischen Link erstellen | |
| ln file.txt backup.txt | Einen Hardlink erstellen | |
| ln -sf target link | Einen symbolischen Link erzwingen/neu erstellen | |
| sed | Stream-Editor zum Filtern und Transformieren von Text | |
| sed 's/old/new/g' file | Einen String global ersetzen | |
| sed -n '1,5p' file | Nur einen bestimmten Zeilenbereich ausgeben | |
| sed '/pattern/d' file | Zeilen löschen, die einem Muster entsprechen | |
| systemctl | Den systemd-System- und Dienstemanager steuern | |
| systemctl status nginx | Dienststatus anzeigen | |
| systemctl start nginx | Einen Dienst starten | |
| systemctl enable nginx | Einen Dienst beim Booten aktivieren | |
| tr | Zeichen übersetzen oder löschen | |
| tr a-z A-Z | Kleinbuchstaben in Großbuchstaben umwandeln | |
| echo "hello" | tr 'h' 'H' | Ein Zeichen ersetzen | |
| echo "abc123" | tr -d '0-9' | Ziffern löschen | |
| type | Anzeigen, wie ein Name in der Shell interpretiert würde | |
| type ls | Anzeigen, wie  | |
| type cd | Anzeigen, wie  | |
| type python3 | Anzeigen, wie  | |
| ulimit | Ressourcenlimits für Benutzerprozesse anzeigen oder setzen | |
| ulimit -n | Maximale offene Dateien anzeigen | |
| ulimit -c unlimited | Core-Dumps aktivieren | |
| ulimit -u 4096 | Die Anzahl der Benutzerprozesse begrenzen | |
| uptime | Systemlaufzeit und durchschnittliche Last anzeigen | |
| uptime -p | Schöne Laufzeitanzeige | |
| uptime -s | Systemstartzeit anzeigen | |
| xargs | Befehlszeilen aus Standardeingabe aufbauen und ausführen | |
| xargs -n 1 echo | Jedes Argument in einer eigenen Zeile ausgeben | |
| echo "a b c" | xargs -n 1 | Wörter in separate Argumente aufteilen | |
| find . -name '*.txt' | xargs rm | Dateien finden und mit xargs löschen | 
🌐 Netzwerkbefehle
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| curl | Daten von/zu Servern übertragen | |
| curl -X POST -d "a=1" URL | POST-Anfrage mit Formulardaten | |
| curl -I URL | Nur Header abrufen | |
| curl -o file.html URL | Herunterladen und in eine Datei speichern | |
| dig | DNS-Abfragewerkzeug | |
| dig openai.com | A-Records abfragen | |
| dig +short openai.com | Kurze Antwort | |
| dig @8.8.8.8 openai.com | Einen bestimmten DNS-Server verwenden | |
| ftp | FTP-Client (File Transfer Protocol) | |
| ftp host | Mit einem FTP-Server verbinden | |
| ftp -n host | Ohne Auto-Login verbinden | |
| ftp> get file.txt | Eine Datei in einer FTP-Sitzung herunterladen | |
| ip address | IP-Adressen anzeigen/manipulieren | |
| ip addr show eth0 | Adressinformationen für  | |
| ip addr | Alle Adressen auflisten | |
| ip link | Netzwerkgeräte anzeigen/manipulieren | |
| ip link show | Netzwerk-Links anzeigen | |
| ip link set eth0 up | Eine Schnittstelle aktivieren | |
| ip route | IP-Routing-Tabelle anzeigen/manipulieren | |
| ip route list | Routing-Tabelle auflisten | |
| ip route add default via 192.168.1.1 | Eine Standardroute hinzufügen | |
| nc | Beliebige TCP/UDP-Verbindungen und Listener | |
| nc -zv host 22 | Einen Host auf Ports scannen | |
| nc -l 1234 | Auf einem TCP-Port lauschen | |
| nc host 1234 < file | Eine Datei an einen Remote-Port senden | |
| nmap | Netzwerkerkundungstool und Sicherheits-/Portscanner | |
| nmap -sP 192.168.1.0/24 | Ping-Scan eines Subnetzes | |
| nmap -sV 192.168.1.1 | Dienst-/Versions-Erkennung | |
| nmap -O 192.168.1.1 | Betriebssystemerkennung | |
| nslookup | Internet-Domain-Name-Server abfragen | |
| nslookup google.com | Einen Domainnamen abfragen | |
| nslookup 8.8.8.8 | Reverse Lookup für eine IP | |
| ssh | OpenSSH-Remote-Login-Client | |
| ssh user@host | Mit einem Host verbinden | |
| ssh -p 2222 user@host | Mit einem nicht standardmäßigen Port verbinden | |
| ssh -i ~/.ssh/id_rsa user@host | Mit einem bestimmten privaten Schlüssel einloggen | |
| ss | Werkzeug zur Untersuchung von Sockets | |
| ss -tuln | TCP/UDP-Listening-Ports auflisten | |
| ss -s | Zusammenfassende Statistiken anzeigen | |
| ss -l | Listening-Sockets auflisten | |
| telnet | Benutzerschnittstelle für das TELNET-Protokoll | |
| telnet host 80 | Mit einem Host auf Port 80 verbinden | |
| telnet example.com 443 | Mit Port 443 verbinden | |
| telnet localhost 25 | Mit lokalem SMTP verbinden | |
| traceroute | Den Pfad zu einem Netzwerkhost nachverfolgen | |
| traceroute 8.8.8.8 | Pfad zu einer IP-Adresse verfolgen | |
| traceroute -m 15 8.8.8.8 | Maximale Hops begrenzen | |
| wget | Dateien aus dem Web herunterladen | |
| wget -O file.txt URL | Ausgabe in eine Datei speichern | |
| wget URL | In das aktuelle Verzeichnis herunterladen | |
| wget -c URL | Einen unterbrochenen Download fortsetzen | 
🔍 Dateien suchen und verwalten
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| basename | Verzeichnis und Suffix von Dateinamen entfernen | |
| basename /path/to/file | Den Dateinamen aus einem Pfad ausgeben | |
| basename /path/to/file .txt | Ein Suffix aus dem Namen entfernen | |
| dirname | Letzte Komponente aus einem Pfad entfernen | |
| dirname /path/to/file | Verzeichnisteil des Pfades anzeigen | |
| dirname /etc/passwd | Elternverzeichnis von  | |
| du | Speicherplatznutzung von Dateien schätzen | |
| du -sh folder/ | Größe eines Verzeichnisses anzeigen | |
| du -h * | Größe der Elemente im aktuellen Verzeichnis anzeigen | |
| du -c folder1 folder2 | Kumulative Größe mehrerer Verzeichnisse | |
| file | Dateityp bestimmen | |
| file some.bin | Dateityp erkennen | |
| file * | Typen aller Dateien im Verzeichnis erkennen | |
| file -i file.txt | MIME-Typ anzeigen | |
| find | Nach Dateien suchen | |
| find /path -type f -name "*.sh" | Shell-Skripte nach Name finden | |
| find . -size +10M | Dateien größer als 10 MB finden | |
| find /tmp -mtime -1 | Dateien finden, die am letzten Tag geändert wurden | |
| locate | Dateien nach Namen mithilfe einer Datenbank suchen | |
| locate filename | Einen Dateinamen finden | |
| locate *.conf | Suche mit Wildcards | |
| locate -i README | Groß-/Kleinschreibung ignorieren | |
| realpath | Den aufgelösten absoluten Pfad ausgeben | |
| realpath file | Einen Dateipfad auflösen | |
| realpath ../relative/path | Einen relativen Pfad auflösen | |
| stat | Datei- oder Dateisystemstatus anzeigen | |
| stat file | Detaillierten Dateistatus anzeigen | |
| stat -c %s file | Nur Dateigröße ausgeben | |
| stat -f file | Dateisystemstatus anzeigen | |
| tree | Verzeichnisinhalte in Baumstruktur anzeigen | |
| tree | Verzeichnisbaum ausgeben | |
| tree -L 2 | Anzeige auf bestimmte Tiefe begrenzen | |
| tree -a | Versteckte Dateien einbeziehen | 
📊 Systemüberwachung
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| dmesg | Kernel-Ringpuffer ausgeben oder steuern | |
| dmesg | tail | Die letzten Kernel-Meldungen anzeigen | |
| dmesg | grep usb | Nach USB-Meldungen filtern | |
| free | Speichernutzung anzeigen | |
| free -h | Menschenlesbare Einheiten | |
| free -m | In MB anzeigen | |
| htop | Interaktiver Prozess-Viewer | |
| htop | 
 | |
| iotop | I/O-Nutzung nach Prozessen anzeigen | |
| iotop | 
 | |
| iotop -o | Nur Prozesse mit I/O anzeigen | |
| lsof | Geöffnete Dateien auflisten | |
| lsof -i :80 | Prozesse anzeigen, die Port 80 verwenden | |
| lsof -u username | Von einem Benutzer geöffnete Dateien anzeigen | |
| uptime | Systemlaufzeit und Lastdurchschnitte anzeigen | |
| vmstat | Virtuelle Speicherstatistiken ausgeben | |
| vmstat 1 | Alle 1 Sekunde aktualisieren | |
| vmstat 5 3 | 5-Sekunden-Intervall, 3 Berichte | |
| watch | Ein Programm periodisch ausführen und Ausgabe anzeigen | |
| watch -n 1 df -h | Speichernutzung beobachten | |
| watch -d free -h | Unterschiede hervorheben und Speicher überwachen | 
📦 Paketverwaltung
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| apt | APT-Paketmanager (Debian/Ubuntu) | |
| apt install curl | Ein Paket installieren | |
| apt remove curl | Ein Paket entfernen | |
| apt update && apt upgrade | Paketlisten aktualisieren und Pakete upgraden | |
| dnf | Dandified YUM (Fedora/RHEL-Familie) | |
| dnf install curl | Ein Paket installieren | |
| dnf upgrade | Pakete aktualisieren | |
| rpm | RPM-Paketmanager | |
| rpm -ivh package.rpm | Ein RPM-Paket installieren | |
| rpm -e package | Ein Paket deinstallieren | |
| snap | Snappy-Paketmanager | |
| snap install app | Ein Snap installieren | |
| snap remove app | Ein Snap entfernen | |
| yum | Yellowdog Updater Modified (RHEL/CentOS) | |
| yum install curl | Ein Paket installieren | |
| yum remove curl | Ein Paket entfernen | 
💽 Dateisysteme
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| blkid | Blockgeräte-Attribute lokalisieren/ausgeben | |
| blkid | Blockgeräte und Attribute auflisten | |
| df | Speichernutzung des Dateisystems anzeigen | |
| df -Th | Menschenlesbare Größen nach Typ | |
| fsck | Ein Linux-Dateisystem prüfen und reparieren | |
| fsck /dev/sda1 | Ein Gerät prüfen | |
| lsblk | Informationen über Blockgeräte auflisten | |
| lsblk | Geräte in Baumstruktur auflisten | |
| mkfs | Ein Linux-Dateisystem erstellen | |
| mkfs.ext4 /dev/sdb1 | Ein ext4-Dateisystem erstellen | |
| mount | Ein Dateisystem einhängen | |
| mount /dev/sdb1 /mnt | Ein Gerät nach  | |
| mount | grep /mnt | Eingehängte Dateisysteme nach Pfad gefiltert anzeigen | |
| parted | Partitionsverwaltungsprogramm | |
| parted /dev/sdb | Eine Festplatte zur Partitionierung öffnen | |
| umount | Dateisysteme aushängen | |
| umount /mnt | Einen Mountpunkt aushängen | 
🤖 Skripte und Automatisierung
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| alias | Shell-Aliasse definieren oder anzeigen | |
| alias ll='ls -la' | Einen nützlichen Alias erstellen | |
| alias | Definierte Aliasse auflisten | |
| bash/sh | Shell-Skripte ausführen | |
| bash script.sh | Ein Skript mit Bash ausführen | |
| sh script.sh | Ein Skript mit  | |
| crontab | Benutzer-Crontab-Tabellen | |
| crontab -e | Crontab des aktuellen Benutzers bearbeiten | |
| read | Benutzereingabe in Shell-Skripten abfragen | |
| read name | In eine Variable einlesen | |
| set | Shell-Optionen/Positionsparameter setzen | |
| set -e | Beim ersten Fehler beenden | |
| source | Befehle aus einer Datei in der aktuellen Shell ausführen | |
| source ~/.bashrc | Shell-Konfiguration neu laden | |
| trap | Signale abfangen und Befehle ausführen | |
| trap "echo 'exit'" EXIT | Einen Befehl beim Shell-Exit ausführen | 
🛠 Entwicklung und Debugging
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| gcc | GNU-C-Compiler | |
| gcc main.c -o app | Eine C-Quelldatei kompilieren | |
| gdb | GNU-Debugger | |
| gdb ./app | Ein kompiliertes Binary debuggen | |
| git | Verteiltes Versionskontrollsystem | |
| git status | Status des Arbeitsbaums anzeigen | |
| git commit -m "msg" | Mit Nachricht committen | |
| ltrace | Bibliotheksaufrufe eines Programms nachverfolgen | |
| ltrace ./app | Bibliotheksaufrufe eines Binaries nachverfolgen | |
| make | Hilfsprogramm zum Verwalten von Programmsammlungen | |
| make | Nach Makefile bauen | |
| shellcheck | Statische Analyse für Shell-Skripte | |
| shellcheck script.sh | Ein Shell-Skript prüfen | |
| strace | Systemaufrufe und Signale nachverfolgen | |
| strace ./app | Systemaufrufe eines Programms nachverfolgen | |
| valgrind | Instrumentierungs-Framework für dynamische Analysetools | |
| valgrind ./app | Ein Programm unter Valgrind ausführen | |
| vim/nano | Kommandozeilen-Editoren | |
| vim file.sh | Mit Vim bearbeiten | |
| nano file.sh | Mit Nano bearbeiten | 
📌 Verschiedenes
| Befehl | Beispiel | Beschreibung | 
|---|---|---|
| cal | Einen Kalender anzeigen | |
| cal 2025 | Jahreskalender anzeigen | |
| cal 08 2025 | Einen bestimmten Monat anzeigen | |
| date | Systemdatum und -zeit anzeigen oder setzen | |
| date +%T | Aktuelle Uhrzeit ausgeben (HH:MM:SS) | |
| date -d "next friday" | Datum für einen relativen Tag anzeigen | |
| factor | Ganzzahlen faktorisieren | |
| factor 100 | Eine Zahl faktorisieren | |
| man | Online-Handbuchseiten formatieren und anzeigen | |
| man tar | Eine Man-Page öffnen | |
| man -k copy | Handbuchseiten nach Schlüsselwort durchsuchen | |
| man 5 passwd | Einen bestimmten Abschnitt öffnen | |
| seq | Zahlenfolgen ausgeben | |
| seq 1 5 | Von 1 bis 5 zählen | |
| seq 1 2 9 | Mit Schrittweite zählen | |
| seq -s ',' 1 5 | Zahlen mit benutzerdefiniertem Trenner verbinden | |
| yes | Eine Zeichenkette endlos ausgeben | |
| yes | rm -r dir | Eine rekursive Löschung automatisch bestätigen | 
📚 Zusätzliche Ressourcen
📘 man pages – detaillierte Handbücher für Befehle:
man ls
man rm📙 TLDR – kurze Beispiele für die Nutzung gängiger Befehle:
🧠 Tipp: tldr installieren für Cheat-Sheet-Hilfe:
sudo apt install tldr   # oder: npm install -g tldr
tldr tar                # Beispiel einer kurzen Zusammenfassung für den Befehl tar🌐 Nützliche Links
Linux man pages online — offizielle Handbuchseiten, durchsuchbar nach Befehlsnamen:
https://man7.org/linux/man-pages/
Vereinfachte und Community-getriebene Man-Pages — Hilfeseiten mit praktischen Beispielen:
https://tldr.sh/