uname — Kernel- und Systeminformationen ausgeben
Praxis-Guide zu uname: Kernel-Name, Kernel-Release, Hostname und CPU-Architektur ausgeben – plus Abgrenzung zu Distributions-Infos.
uname gehört zu den ersten Befehlen, die du auf einem fremden System ausführst: In Sekunden verrät es dir Kernel-Name, Kernel-Release, Hostnamen und CPU-Architektur. Besonders in Skripten ist es unverzichtbar, um plattform- oder architekturabhängig zu verzweigen – etwa beim Auswählen des richtigen Binaries für x86_64 oder aarch64. Dieser Guide zeigt dir die wichtigsten Optionen, sinnvolle Kombinationen und die Abgrenzung zu Distributions-Infos, die uname bewusst nicht liefert.
Gängige Verwendung
uname — Gibt nur den Betriebssystem-Namen aus. Üblicherweise 'Linux', 'Darwin' o. Ä.
unameuname -a — Gibt alle verfügbaren Informationen aus: Kernel-Name, Hostname, Kernel-Release, Kernel-Version, Maschine, Prozessor, Hardware-Plattform und Betriebssystem.
uname -auname -r — Gibt das Kernel-Release (die Versionsnummer) aus. Praktisch, um zu prüfen, welcher Kernel läuft.
uname -runame -m — Gibt den Maschinen-Hardwarenamen (die Architektur) aus. Häufige Werte: x86_64, aarch64, arm64.
uname -mAlle Optionen
uname -s — Gibt den Kernel-Namen (Betriebssystem-Namen) aus. Entspricht dem bloßen 'uname'. Beispielausgabe: Linux, Darwin.
uname -suname -n — Gibt den Hostnamen des Netzknotens aus. Entspricht 'hostname'.
uname -nuname -r — Gibt das Kernel-Release aus. Beispiel: 6.6.87-microsoft-standard-WSL2.
uname -runame -v — Gibt die Kernel-Version aus (Build-Datum und -Nummer, nicht die Release-Nummer).
uname -vuname -m — Gibt den Maschinen-Hardwarenamen (die CPU-Architektur) aus. Beispiel: x86_64, aarch64.
uname -muname -p — Gibt den Prozessortyp aus. Liefert auf manchen Systemen 'unknown'.
uname -puname -i — Gibt die Hardware-Plattform aus. Liefert auf manchen Systemen 'unknown' (Linux-spezifisch).
uname -iuname -o — Gibt den Betriebssystem-Namen aus. Beispiel: GNU/Linux (GNU-Coreutils-Option; auf der BSD-Variante von macOS nicht verfügbar).
uname -oOptionen kombinieren
uname -sr — Gibt Betriebssystem-Namen und Kernel-Release aus. Kurze Kombinationsform.
uname -sruname -mrs — Gibt Maschine, Kernel-Release und Betriebssystem-Namen aus.
uname -mrsuname -snr — Gibt Betriebssystem-Namen, Hostnamen und Kernel-Release aus.
uname -snrPraxisbeispiele & Skripte
[ $(uname -s) = 'Linux' ] && echo Linux — Erkennt Linux in einem Shell-Skript. Praktisch für plattformübergreifende Skripte.
[ $(uname -s) = 'Linux' ] && echo 'Running on Linux'[ $(uname -m) = 'aarch64' ] && echo ARM — Erkennt die ARM64-Architektur (z. B. Apple Silicon, Raspberry Pi). Praktisch zur Auswahl des passenden Binaries.
[ $(uname -m) = 'aarch64' ] && echo 'ARM64 detected'uname -r | grep -q 'WSL' && echo WSL — Erkennt das Windows-Subsystem für Linux (WSL) anhand des Kernel-Release-Strings.
uname -r | grep -q 'WSL' && echo 'Running inside WSL'uname -r | cut -d. -f1,2 — Extrahiert nur die Haupt- und Nebenversionsnummer des Kernels.
uname -r | cut -d. -f1,2Verwandte Werkzeuge
hostnamectl — Zeigt oder setzt den Hostnamen und zugehörige Einstellungen. Detaillierter als uname auf systemd-Systemen.
hostnamectllsb_release -a — Zeigt Informationen zur Linux-Distribution (Name, Version, Codename).
lsb_release -acat /etc/os-release — Zeigt Distributionsinformationen aus der OS-Release-Datei. Auf allen modernen Linux-Systemen verfügbar.
cat /etc/os-releasearch — Gibt die Maschinenarchitektur aus. Entspricht 'uname -m'.
arch Fazit
uname ist ein reines Lese-Kommando – es verändert nichts und lässt sich gefahrlos in jedem Skript einsetzen. Für den schnellen Überblick reicht uname -a; brauchst du gezielt einzelne Werte, greifst du zu -r (Kernel-Release, etwa für passende Treiber oder Kernel-Module), -m (Architektur wie x86_64 oder aarch64) oder -s/-n/-o. Wichtig zu wissen: uname kennt nur den Kernel, nicht die Distribution. Welche Distro samt Version läuft, verraten dir erst /etc/os-release, lsb_release oder hostnamectl. Unter macOS ist uname zwar vorhanden, die eigentliche macOS-Version liefert aber sw_vers.
Weiterführende Links
- GNU-Coreutils-Handbuch: uname – offizielle Referenz zu allen Optionen (englisch)
- man7.org: uname(1) – die Linux-Manpage zum Kommando (englisch)
Verwandte Kommandos
- hostnamectl – Hostname und Systeminformationen unter systemd anzeigen und setzen
- uptime – Laufzeit des Systems und Load-Average anzeigen
- lsblk – Blockgeräte und Partitionen als Baum auflisten