🐧 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/