什么是 Nushell?
Nushell(即 nu 命令)是一款围绕结构化数据构建的现代 shell。命令之间传递的不再是纯文本,而是带类型的表格和记录——ls 返回的行可以直接过滤、排序和求和,JSON、YAML、CSV、TOML 和 SQLite 都是一等公民。它将一门真正的编程语言与交互式 shell 结合在一起,开箱即用地提供清晰的错误信息、自动补全和语法高亮。
nu 注册到 /etc/shells(卸载时干净移除),因此 chsh -s /usr/bin/nu 立即可用——无需手动编辑。二进制文件为静态链接(musl),无论系统库如何升级,您的 shell 都能正常工作。
apt upgrade 即可始终保持最新版本。
⚡ Nushell 的主要特性
📊 结构化管道
命令输出的是表格而非文本:ls | where size > 1mb | sort-by modified——无需 awk、cut 或 sed 的各种技巧。
🔄 支持各种数据格式
原生打开并转换 JSON、YAML、CSV、TOML、XML 和 SQLite:open Cargo.toml | get package.version。
🧠 真正的编程语言
带类型的变量、闭包、自定义命令和模块——错误信息达到编译级质量,直接指向出错的确切位置。
🔌 内置插件
附带官方插件:polars(dataframe)、query(JSON/XML/网页抓取)、formats、gstat 和 inc。
🔐 登录 shell 就绪
软件包自动注册到 /etc/shells——apt 安装完成的那一刻即可用 chsh -s /usr/bin/nu 切换。
📦 零依赖
单个静态 musl 二进制文件。没有运行时、没有会损坏的库——对于您每天登录使用的程序来说再理想不过。
🏆 为什么用 apt 安装?
- 作为 shell 足够安全:静态链接构建,由软件包脚本负责在
/etc/shells中注册和注销——当它是您的登录 shell 时,这些细节至关重要 - 内置插件:官方插件集随同一软件包一起提供,与 nu 的确切版本相匹配(插件对此有要求)
- 告别 curl 下载二进制:使用 GPG 签名的仓库,而不是手动把二进制文件下载到
/usr/local/bin - 自动更新:上游新版本随您日常的
apt upgrade一同到达——这很重要,因为 Nushell 每月发布新版 - 多架构支持:amd64、arm64、armhf 和 riscv64
📦 从 deb.griffo.io 安装
步骤 1:添加仓库
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update步骤 2:安装 Nushell
sudo apt install -y nushellapt install -y nushell🚀 首次运行
nu # start an interactive session
ls | where size > 1mb | sort-by modified # structured pipelines
open /etc/os-release | lines | parse "{key}={value}" # parse anything
chsh -s /usr/bin/nu # make it your login shell插件在 nu 内按用户注册一次即可,例如:
plugin add /usr/bin/nu_plugin_query
plugin add /usr/bin/nu_plugin_polars📦 软件包构建仓库
Debian 软件包在此 GitHub 仓库中自动构建和维护:
- 📂 nushell-debian - 最新发布版本构建
🔗 相关软件包
也可从 deb.griffo.io 获取:
- starship - 跨 shell 提示符,对 Nushell 提供一流支持
- atuin - 可搜索、可同步的 shell 历史记录——在 nu 中同样可用
- zoxide - 更智能的 cd,与 Nushell 深度集成
💝 支持本项目
如果这个仓库为您节省了时间和精力,请考虑支持它!