20.3k starsLinux装逼Shell,类sql语法
2023-06-13 09:17:23 时间
Nushell介绍
一种新的 Shell,Nu 可以在 Linux、macOS 和 Windows 上运行。一次学习,处处可用。
Nu 管道使用结构化数据,你可以用同样的方式安全地选择,过滤和排序。停止解析字符串,开始解决问题。
具备强大的插件系统,Nu可以轻松扩展。使用rust语言开发,目前
20.3k stars
GitHub数据
- 20.3k stars
- 156 watching
- 993 forks
开源地址:https://github.com/nushell/nushell
安装
Linux and macOS
> brew install nushell
Windows
> winget install nushell
演示
在 Unix 中,通常在命令之间通过管道将复杂的命令拆分为多个步骤。Nu 在这方面更进了一步,并在很大程度上建立在管道的概念之上。与 Unix 哲学一样,Nu 允许命令输出到标准输出并从标准输入读取。此外,命令可以输出结构化数据(你可以将其视为第三种流)。在管道中工作的命令属于以下三个类别之一
ls | where type == "dir" | table
╭────┬──────────┬──────┬─────────┬───────────────╮
│ # │ name │ type │ size │ modified │
├────┼──────────┼──────┼─────────┼───────────────┤
│ 0 │ .cargo │ dir │ 0 B │ 9 minutes ago │
│ 1 │ assets │ dir │ 0 B │ 2 weeks ago │
│ 2 │ crates │ dir │ 4.0 KiB │ 2 weeks ago │
│ 3 │ docker │ dir │ 0 B │ 2 weeks ago │
│ 4 │ docs │ dir │ 0 B │ 2 weeks ago │
│ 5 │ images │ dir │ 0 B │ 2 weeks ago │
│ 6 │ pkg_mgrs │ dir │ 0 B │ 2 weeks ago │
│ 7 │ samples │ dir │ 0 B │ 2 weeks ago │
│ 8 │ src │ dir │ 4.0 KiB │ 2 weeks ago │
│ 9 │ target │ dir │ 0 B │ a day ago │
│ 10 │ tests │ dir │ 4.0 KiB │ 2 weeks ago │
│ 11 │ wix │ dir │ 0 B │ 2 weeks ago │
╰────┴──────────┴──────┴─────────┴───────────────╯
- 产生流的命令(例如,
ls
) - 过滤流的命令(例如,
where type == "dir"
) - 使用管道输出的命令(例如,
table
)
查找系统中cpu利用率大于3的进程
> ps | where cpu > 3
╭───┬───────┬───────────┬───────┬───────────┬───────────╮
│ # │ pid │ name │ cpu │ mem │ virtual │
├───┼───────┼───────────┼───────┼───────────┼───────────┤
│ 0 │ 2240 │ Slack.exe │ 16.40 │ 178.3 MiB │ 232.6 MiB │
│ 1 │ 16948 │ Slack.exe │ 16.32 │ 205.0 MiB │ 197.9 MiB │
│ 2 │ 17700 │ nu.exe │ 3.77 │ 26.1 MiB │ 8.8 MiB │
╰───┴───────┴───────────┴───────┴───────────┴───────────╯
打开文件
Nu 可以将文件和 URL 内容加载为原始文本或结构化数据。例如,你可以将 .toml 文件加载为结构化数据并进行搜索:
> open Cargo.toml
╭──────────────────┬────────────────────╮
│ bin │ [table 1 row] │
│ dependencies │ {record 24 fields} │
│ dev-dependencies │ {record 8 fields} │
│ features │ {record 10 fields} │
│ package │ {record 13 fields} │
│ profile │ {record 3 fields} │
│ target │ {record 2 fields} │
│ workspace │ {record 1 field} │
╰──────────────────┴────────────────────╯
可以根据key一层一层展开打印下级的内容。
> open Cargo.toml | get package
╭───────────────┬────────────────────────────────────╮
│ authors │ [list 1 item] │
│ default-run │ nu │
│ description │ A new type of shell │
│ documentation │ https://www.nushell.sh/book/ │
│ edition │ 2018 │
│ exclude │ [list 1 item] │
│ homepage │ https://www.nushell.sh │
│ license │ MIT │
│ name │ nu │
│ readme │ README.md │
│ repository │ https://github.com/nushell/nushell │
│ rust-version │ 1.60 │
│ version │ 0.63.1 │
╰───────────────┴────────────────────────────────────╯
更多功能广大网友可以继续挖掘。
相关文章
- SQL Server通过重建方式还原master数据库
- 在SQL Server中查询资料库的TABLE数量与名称的sql语句
- SQL Agent服务无法启动的解决方法
- SQL SERVER 2012新增函数之逻辑函数CHOOSE详解
- 实现成功:使用SQL登录Oracle数据库(sql登录oracle)
- sql性能优化优化Oracle中PL/SQL性能的方法(oracle中pl)
- MySQL服务器的SQL模式(sql_mode变量)
- SQL与MySQL:开放式数据库创新(sql和mysql)
- 一步搞定:MySQL批量更新SQL技巧(mysql批量更新sql)
- 环境预防SQL注入, 把Oracle环境保护好(sql注入oracle)
- 掌握SQL语句, 打开Oracle大门(sql语句oracle)
- MySQL如何输出SQL语句?25字教程速成!(mysql输出sql)
- 脚本使用Linux启动Shell脚本的步骤(linux启动shell)
- Oracle中增加列的SQL语法指南(oracle增加列sql)
- 如何在SQL Server中计算日期和时间的差异?(sqlserver时间差)
- SQL Server近7天的活跃使用情况(sqlserver近7天)
- SQL Server数据库转义的技巧(sqlserver转义_)
- 性SQL Server:保障稳定性的安全屏障(sqlserver稳定)
- SQL Server测试环境使用指南(sqlserver测试库)
- SQL Server修复更新:狠心细心(sqlserver打补丁)
- SQL Server中使用取余数处理数据(sqlserver取余数)
- 使用SQL Server LT加快数据挖掘效率(sqlserver lt)
- Oracle SQL跟踪工具:精准定位SQL性能瓶颈(oracle跟踪sql工具)
- MySQL实现两条SQL语句的除法运算(mysql两条sql相除)
- 精通Oracle SQL语法,把握大数据运算之道(oracle_sql语法)
- OraclePL/SQL入门案例实践
- asp.net(C#)防sql注入组件的实现代码
- Sql学习第一天——SQL练习题(建表/sql语句)