🐧 Linux-Befehlszeile

Multilingual DevOps cheat sheet: Linux, Docker, Git, Kubernetes, Helm, Terraform, practical scenarios & templates.
Veröffentlichungsdatum

31. August 2025

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 /etc wechseln

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 .txt-Dateien in den Ordner archive verschieben

pwd Das aktuelle Arbeitsverzeichnis anzeigen
pwd -P

Den physischen Pfad anzeigen (keine Symlinks)

cd /tmp && pwd

Pfad nach Wechsel zu /tmp anzeigen

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 emptydir löschen

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 ls finden

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 python3

which grep

Pfad zu grep

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 .log-Dateien im aktuellen Verzeichnis finden

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 error finden

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 grep filtern

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 .tgz-Archiv erstellen

tar -xzf archive.tgz

Ein .tgz-Archiv entpacken

tar -tf archive.tgz

Archivinhalt auflisten

tee Von stdin lesen und in stdout und Dateien schreiben
echo "test" | tee out.txt

Ausgabe in out.txt schreiben und gleichzeitig anzeigen

ls | tee list.txt

Ausgabe von ls in Datei speichern und anzeigen

command | tee -a log.txt

Ausgabe an das Ende von log.txt anhängen

top Linux-Prozesse anzeigen (interaktiver Prozessmonitor)
top

top starten

htop

Alternative interaktive Ansicht (htop)

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 /etc/passwd ausgeben

echo "a:b:c" | cut -d':' -f2

Das zweite Feld mit : als Trennzeichen ausschneiden

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 anzeigen

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 ls aufgelöst wird

type cd

Anzeigen, wie cd aufgelöst wird

type python3

Anzeigen, wie python3 aufgelöst wird

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 eth0 anzeigen

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 /etc/passpasswd anzeigen

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

htop starten

iotop I/O-Nutzung nach Prozessen anzeigen
iotop

iotop starten

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 /mnt einhängen

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 sh ausführen

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/