LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

nu

nushell, a modern shell with structured data

TLDR

Start Nushell
$ nu
copy
Execute command
$ nu -c "[command]"
copy
Run script
$ nu [script.nu]
copy
List files as table
$ ls | where size > 1mb
copy
Parse JSON
$ open [file.json] | get [field]
copy

SYNOPSIS

nu [options] [script]

DESCRIPTION

nu is Nushell, a cross-platform shell that treats every command's output as structured data (tables, records, lists) flowing through a pipeline. Built-ins parse common formats (JSON, YAML, TOML, CSV, SQLite, ODS, XLSX, XML, NDJSON) into the same table type, so commands such as `where`, `sort-by`, `select`, `group-by`, and `histogram` work uniformly across data sources.Pipelines pass typed values rather than byte streams, which makes data wrangling expressive but means traditional Unix pipes mixing arbitrary byte streams behave differently — wrap external commands with `^cmd` to get raw stdout, or use `into binary` / `into string` for explicit conversions.

PARAMETERS

SCRIPT

Nushell script (file ending in .nu) to execute. Remaining positional arguments are accessible as `$argv`.
-c, --commands COMMAND
Run the given Nushell command string and exit.
--config FILE
Load FILE instead of the default `config.nu`.
--env-config FILE
Load FILE as the environment-setup config (`env.nu`).
--login, -l
Start as a login shell (sources `login.nu`).
--interactive, -i
Force interactive mode even when stdin is not a TTY.
--no-config-file, -n
Skip loading any config files.
--no-std-lib
Skip loading the bundled standard library.
--stdin
Read script from stdin.
--table-mode, -m MODE
Set the table rendering mode (e.g. rounded, heavy, light, compact, none).
--log-level LEVEL
Set the log level (trace, debug, info, warn, error).
--ide-check N
IDE-friendly syntax check of the input.
-h, --help
Display help information.
-v, --version
Display version.

CONFIGURATION

$nu.default-config-dir/config.nu

Per-user configuration (typically ~/.config/nushell/config.nu).
$nu.default-config-dir/env.nu
Per-user environment variable setup, sourced before `config.nu`.

CAVEATS

Not POSIX-compatible — scripts written for bash/zsh will not run unmodified. Configuration files use Nushell's own language. Plugin protocol and built-in command names still change between minor releases (Nushell is pre-1.0); pin a version when scripting.

HISTORY

Nushell was created in 2019 by Jonathan Turner, Yehuda Katz, and Andrés Robalino to bring PowerShell-style structured pipelines to a Unix-friendly, Rust-implemented shell. It is currently maintained by the Nushell Project under the MIT license.

SEE ALSO

bash(1), zsh(1), fish(1), pwsh(1)

Copied to clipboard
Kai