nu
nushell, a modern shell with structured data
TLDR
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.
