Nushell ist ein Command Line Interface für Windows, Linux und macOS, das Autovervollständigung und andere Funktionen aus der Softwareentwicklung bietet. Wir zeigen in diesem Beitrag die Möglichkeiten.
Nu bietet umfangreiche Bilder und automatisch strukturierte Anzeigen der Daten.
(Bild: Joos / Nushell)
Nushell ist eine mächtige Open Source-Kommandozeile auf Basis von Rust unter der MIT-Lizenz. Es vereint zahlreiche Vorteile und Möglichkeiten aus der Linux-Bash, dem macOS-Terminal, der PowerShell und der Windows-Befehlszeile. Dazu kommen Techniken aus der Softwareentwicklung und objektorientierten Ansätzen.
Von der Bedienung her orientiert sich Nushell vor allem an der PowerShell und der Linux-Bash. Das heißt, Pipeline-Funktionen sind in der Nushell genauso möglich wie in der PowerShell und bei der Unix-Philosophie. Einfache Befehle können dadurch in einer Kette zu mächtigen Abläufen genutzt werden, deren Ergebnis in Nushell automatisch als Tabelle angezeigt werden.
Moderne Shell für Windows, Linux und macOS
Die Shell funktioniert unter Linux, Windows und macOS, sodass Admins und Entwickler betriebssystemübergreifend mit der Shell arbeiten können. Wer mit mehreren Betriebssystemen arbeitet, kann daher mit der Nushell auf jedem System die gleichen Abläufe nutzen. Nushell-Programme und Skripte sind also portabel.
Die Nushell stellt eine ergänzende Shell für Windows, Linux und macOS zur Verfügung.
(Bild: Joos / Nushell)
Nushell lässt sich parallel zu den vorhandenen Shells des Betriebssystems betreiben. Durch die Eingabe von „nu“ startet die Nushell in Windows, Linux und macOS direkt aus dem Terminal, der PowerShell, der Eingabeaufforderung oder der Bash heraus.
Die Nushell arbeitet strukturiert, sodass die Ausgabe und die verwendeten Daten, nicht nur als Text angezeigt, sondern strukturiert aufgearbeitet werden. Das heißt, alle Ausgaben versucht Nushell in einer Tabelle aufzubereiten. In der umfassenden Dokumentation zur Nushell zeigen die Entwickler alle Möglichkeiten der Shell in der Praxis.
Nushell unterstützt Plug-ins, sodass Entwickler den Funktionsumfang selbst erweitern können. Für den Einsatz ist es nicht notwendig, Nushell als Standard-Shell zu verwenden.
Eigene Autovervollständigung und Parameter integrieren
Mit der Nushell können Entwicklerinnen und Entwickler die integrierte Autovervollständigen-Funktion in der Shell selbst erweitern. Parameter, Optionen und Argumente lassen sich dadurch flexibel mit Befehlen kombinieren. Die Integration von externen Befehlen in Nushell ist ebenfalls möglich.
Die Konfiguration der Shell erfolgt über eine Config-Datei, die bei der Installation eingerichtet wird, aber jederzeit angepasst wird. Interessant sind an dieser Stelle das Hervorheben der Syntax und das Erkennen von Fehlern – so, wie das Entwickler aus Quell-Code-Editoren wie Visual Studio Code kennen.
Visual Studio Code bietet bei Bedarf ähnliche Funktionen für die PowerShell. Die Nushell aber kann diese Techniken auch in Windows-Befehlszeile, Bash und macOS-Terminal bringen – und das in Windows, Linux und macOS.
Nushell installieren und nutzen
Die Installation der Nushell erfolgt in Windows über „winget install nushell“ oder „choco install nushell“, in Linux und macOS kann die Installation zum Beispiel über Homebrew („brew install nushell“) erfolgen. Die Installationsdateien der Nushell stehen aber auch auf GitHub zur Verfügung. Die aktuell installierte Version der Nushell lässt sich mit „nushell --version“ anzeigen.
Nu bietet umfangreiche Bilder und automatisch strukturierte Anzeigen der Daten.
(Bild: Joos / Nushell)
Nach der Installation steht Nushell auf dem System zur Verfügung kann durch Eingabe des Befehls „nu“ gestartet werden. Mit „exit“ schließt sich die Shell wieder. Es ist daher problemlos möglich parallel mit den vorhandenen Shells des Betriebssystems zu arbeiten mit Nushell für bestimmte Zwecke. Nach dem Start der Shell stehen die verschiedenen Befehls zur Verfügung, die im Grunde auch in der Linux-Bash verfügbar sind.
Durch die verschiedenen Filter und Pipeline-Funktionen können in der Nushell auch komplexere Abfragen erstellt werden. Um zum Beispiel alle Dateien mit einer Größe ab 5 MB sortiert nach dem Datum der Änderung anzuzeigen, kann ein einfacher Befehl genutzt werden:
ls | where size > 5mb | sort-by modified
Nushell lässt sich auch zum Abrufen von Befehlen zur Abfrage von Systeminformationen und der Auslastung der Hardware nutzen.
(Bild: Joos / Nushell)
Der Befehl zeigt anschließend alle Dateien, die der Abfrage entsprechen in einer Tabelle an und formatiert die Ausgabe auch grafisch. Mit der Nushell lassen sich auch Prozesse abfragen. Soll die Nushell zum Beispiel alle Prozesse anzeigen, die eine CPU-Last von über 5% verursachen und die höchsten Werte zuerst anzeigen, kann der folgende Befehl genutzt werden:
ps | where cpu > 5 | sort-by cpu |reverse
Nushell als Programmierumgebung nutzen
Neben den flexiblen Kommandozeilen-Möglichkeiten Nushell dem Programmieren mit der Sprache Nu dienen. Beim Coden mit Nushell lassen sich eigene Aliase und Funktionen definieren. Operatoren stehen ebenfalls zur Verfügung. Ergebnisse von Abfragen lassen sich in Variablen speichern und mit Unterroutinen und Unterausdrücken auswerten.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Natürlich ist es auch möglich, Skripte mit Nushell zu schreiben. Module ermöglichen es in Nushell, ähnlich wie in der PowerShell, Code aus kleineren Teilen zusammenzusetzen. Mit Modulen können Entwickler eine öffentliche Schnittstelle definieren und benutzerdefinierte Befehle, Aliase und Umgebungsvariablen importieren.
Mit Aliasen in Nushell arbeiten.
(Bild: Joos / Nushell)
Overlays bauen auf den Modulen auf. Aliase bieten eine Möglichkeit, ganze Befehle samt Parameter und Optionen zu ersetzen. Damit können Entwickler einen Kurznamen für einen längeren Befehl erstellen, einschließlich seiner Standardargumente:
alias ll = ls -l
Sobald in diesem Beispiel „ll“ eingegeben wird, verhält sich Nushell so, als ob „ls -l“ eingegeben wurde. Das ermöglicht wiederum die Übergabe von Flags oder Positionsparametern. Zum Beispiel:
ll -a
und erhalten das Äquivalent zur Eingabe von ls -l -a.
Wenn bei der Arbeit mit einem Alias eine Pipe zum Einsatz kommen soll, geht das über die Verwendung von Klammern:
… angezeigt werden. Durch die Definition eines Overlays lassen sich Module zwischen Overlays verknüpfen. Dadurch lassen sich virtuelle Umgebungen definieren, eigene Befehle erstellen oder Aliase nutzen. Benutzerdefinierte Befehle ermöglichen es, dass Entwickler Ergebnisse speichern und diese für weitere Befehle nutzen können. Die Möglichkeiten dazu sind in der Dokumentation auf „Programming in Nu“ zu finden.