awesome shell

精选的命令行框架、工具包、指南和工具的精选列表。

shells

选择您的基础shell。

  • bash – GNU 项目的 shell (Bourne Again SHell)
  • elvish – 友好、富有表现力的 shell 功能,如匿名函数和数据结构
  • es – 可扩展的 shell,基于 Plan 9 的rc shell
  • fish – 智能且用户友好的命令行 shell
  • ion – 一种现代系统shell,具有简单但功能强大的语法。它完全用 Rust 编写。
  • ksh93 – shell
  • mksh – MirBSD Korn Shell
  • ngs – 专为 Ops 创建的功能齐全的脚本语言。REPL 正在开发中。
  • nushell – 用 Rust 编写的现代 shell
  • oksh – 便携式 OpenBSD ksh
  • osh – Bash 兼容,使用名为 Oil 的新/现代 Unix shell 语言
  • pdksh – 公共域 Korn shell
  • powershell一个跨平台的任务自动化和配置管理框架,由命令行 shell 和脚本语言组成
  • shell++ – 友好且现代的函数式和面向对象的 shell 脚本语言
  • shenv – 简单的 shell 版本管理
  • tcsh – 具有文件名补全和命令行编辑功能的 C shell
  • xonsh – Python-ish,BASHwards-looking shell 语言和命令提示符
  • yash – 符合 POSIX 的命令行 shell,内置支持基于命令历史的完成和预测
  • zsh – 具有脚本语言的强大shell

命令行生产力

搜索、书签、多路复用和其他使您的终端体验更高效的工具。

  • AdvancedNewFile – 以递归方式快速创建文件和目录。受 Vim 插件的启发。

  • ag – 通过目录层次结构的超快速字符串搜索

  • aliases – bash 的上下文、动态、有组织的别名

  • autoenv – 基于目录的环境

  • bashhub -☁️云中的 Bash 历史记录。索引和可搜索。

  • boilr – 一个极快的 CLI 工具,用于从样板模板创建项目。

  • boom – 在命令行中存储链接和片段

  • borg – 基于终端的 bash 命令搜索引擎

  • browsh – 基于文本的现代浏览器

  • Buku – 强大的命令行书签管理器

  • byobu – 基于文本的窗口管理器和终端多路复用器

  • cod — shell 的完成守护进程,它会在您调用--help命令时进行学习

  • CloudClip – 云中您自己的剪贴板,在不同系统之间复制和粘贴带有要点的文本

  • ddgr – 来自终端的 DuckDuckGo

  • desk– 用于外壳的轻量级工作区管理器

  • direnv – shell 的环境切换器,与 autoenv 比较

  • dnote – 具有多设备同步和 Web 界面的简单命令行笔记本

  • eureka💡 无需离开终端即可输入和存储您的想法的 CLI 工具

  • fasd – 命令行生产力助推器,提供对文件和目录的快速访问

  • fd – 一个简单、快速且用户友好的查找替代方案。

  • Foxy – 用于 Firefox 和冲浪浏览器的纯文本书签。

  • fselect – 使用类似 SQL 的查询查找文件。

  • funky – 扩展了 shell 函数的功能,使其更加强大和灵活。

  • fz – z 的无缝模糊选项卡完成

  • fzf – 命令行模糊查找器

  • gitmux – 在 Tmux 状态栏中显示 Git 状态

  • googler – 来自终端的谷歌搜索、谷歌站点搜索、谷歌新闻

  • googlr – 命令行工具,可让您从终端搜索 Google。

  • hashas帮助您检查路径上是否存在各种命令行工具及其版本

  • how2how2找到在 unix shell 中做某事的最简单方法。就像man,但你可以用自然语言查询它。

  • navi – 命令行的交互式备忘单工具

  • hhighlighter – 为命令输出中的单词着色

  • hr<hr />对于您的终端

  • hss – 具有自动完成和异步执行功能的交互式并行 ssh 客户端

  • hstr – Bash 历史建议框

  • k – k 是一个 Zsh 脚本,用于使目录列表更具可读性,添加 Git 状态、文件权重颜色和腐烂日期

  • k alias – 使用简单的单行代码获取 kool 别名(以及更多)

  • lf.sh – 以更少的输入快速搜索文件并执行更多操作(grepping、将路径复制到剪贴板等)

  • Lmod – 基于 Lua 的环境模块,在向后兼容的同时增强基于 Tcl 的模块(与模块相比)

  • loop – 使用单行程序编写和控制复杂的循环

  • 标记– 为您的 shell 命令添加书签

  • mackup – 保持应用程序设置同步(OS X/Linux)

  • mcfly – 浏览您的 shell 历史记录。伟大的苏格兰人!

  • modules – 基于 Tcl 的经典环境模块管理 shell 环境(与 Lmod、direnv 和 autoenv 相比)

  • nnn – 具有出色桌面集成的文件浏览器和磁盘使用情况分析器

  • parallel– 从标准输入并行构建和执行 shell 命令行

  • pass – 通过 GPG 加密和可选的 git 集成从命令行管理密码。

  • pathpicker – 接受 grep、search、git 等输入;允许从输入结果中选择文件,然后您可以打开这些文件或将其作为参数提供给命令。

  • pdd – 带有计时器的微小日期、时间差异计算器

  • percol – 为 UNIX shell 的传统管道概念添加了交互式过滤的风格

  • q – 用于 Bash 和 Zsh Shell 的类似 Vim 的宏寄存器

  • qfc – Bash 和 Zsh 的文件完成小部件

  • resh – Zsh 和 Bash 的上下文 shell 历史记录

  • rg – ripgrep 是一个面向行的搜索工具,它结合了 Silver Searcher 的可用性和 GNU grep 的原始速度

  • screen – GNU 终端多路复用器

  • shell-history – 使用 Highcharts 可视化您的 shell 使用情况

  • SHML – 终端的样式框架(Shell 标记语言)

  • slugify – 将文件名和目录转换为 Web 友好格式的命令

  • sman-🐛 一个命令行片段管理器

  • spark – ▂▃▅▂▇ 在你的壳里

  • spark.fish – ▂▃▅ 迷你图生成器

  • sheet – 命令行的文本片段

  • spot – 小文件搜索工具

  • snips – 管理代码片段的命令行工具。

  • sqlline – 用于通过 JDBC 向关系数据库发出 SQL 的 Shell(多行、完成、突出显示、方言支持)

  • sshfs – 通过 SSH 挂载远程文件系统的工具

  • sudocabulary – 从您的终端学习英语词汇

  • surfraw – 浏览特定站点并在没有浏览器的情况下从您的终端搜索网络。

  • task-manager– 只需按两下或三下键即可执行所有脚本。

  • td-cli – 一个 todo 命令行管理器,用于跨多个项目组织和管理您的 todo。

  • thefuck – 使用易于记忆的命令修复常见的 shell 错误

  • tldr – 用于 tldr、简化和社区驱动的手册页的全功能 bash 客户端

  • tmux – 惊人的终端多路复用器

  • undollar – undollar 将美元符号从您刚刚粘贴到终端中的命令的尖端咬掉

  • usql – SQL 数据库的通用命令行界面。

  • v – z 用于 vim。

  • wemux – 多用户 Tmux 变得简单

  • xiki – 使 shell 控制台更加友好和强大

  • xplr – 一个可破解的、最小的、快速的 TUI 文件浏览器

  • xsv – 用 Rust 编写的快速 CSV 命令行工具包

  • xxh – 通过 SSH 将您最喜欢的 shell 带到任何地方。

目录导航

  • aliasme – 快速更改目录的别名助手
  • autojump – 一个学习的 cd 命令 – 从命令行轻松导航目录
  • bashmarks – shell 的目录书签
  • bd – 快速回到父目录
  • Commcd – 在 Bash 中移动的更快方法
  • enhancd-🚀 带有交互式过滤器的下一代 cd 命令
  • goto – 用于导航到支持自动完成的别名目录的 shell 实用程序
  • jump – Jump 通过学习习惯帮助您更快地浏览文件系统。
  • lazy-cd – 用于文件系统书签导航的简单 bash 命令,带有 bash 完成功能。
  • up – 按名称或计数升序目录;用于 bash、zsh 和鱼。
  • z – z 是新的 j,哟
  • z.lua – 一个新的 cd 命令,通过学习你的习惯来帮助你更快地导航
  • zoxide – 一种更快的导航文件系统的方法,用 Rust 编写
  • zpyi – Zsh 中的 Python – 在 shell 中轻松编写 Python 脚本

定制

自定义提示、颜色主题等。

开发工具

命令行开发、版本控制和部署。

  • ack – 针对源代码优化的类似 grep 的搜索工具。
  • add-gitignore – 交互式 CLI,可根据您的需要为您的项目生成 .gitignore。
  • bcal – 用于存储转换和计算的字节计算器
  • bitwise – 诅咒中基于终端的交互式位操纵器。
  • bocker – 用 100 行 bash 实现的 Docker
  • cloc – 计算代码行数
  • doclt – Digital Ocean 的命令行界面
  • dokku – Docker 驱动的迷你 Heroku. 您见过的最小的 PaaS 实现。
  • getopts.fish – 鱼的 CLI 解析器
  • forgitgit利用模糊查找器 fzf 的实用工具。
  • git-extra-commands – 许多 Git 额外实用程序。流失、剪切分支、改进合并等等。
  • git-extras – Git 实用程序 – 存储库摘要、repl、更改日志人口、作者提交百分比等
  • git-open – 键入git open以在浏览器中打开存储库的 GitHub 页面或网站
  • git-quick-stats – Git 快速统计是一种访问 git 存储库中各种统计信息的简单有效的方法。
  • git-semver – 用于简化语义版本控制和变更日志验证的 Git 插件
  • git-sh – 适合 Git 工作的定制 Bash 环境
  • gita – 管理多个 git 存储库的命令行工具。
  • hub– 集线器可帮助您在 git 中获胜。
  • just – 用于保存和运行项目特定命令的任务运行器。
  • licins – 在源代码中插入注释的软件许可证。
  • mkdkr – Makefile + Docker = CI 管道
  • mr – 多个存储库管理工具
  • overcommit – 一个完全可配置和可扩展的 Git 钩子管理器
  • pre-commit – 用于管理和维护多语言预提交挂钩的框架
  • rebound 当您收到编译器错误时,立即在您的终端中浏览堆栈溢出结果
  • repren – 命令行搜索和替换和文件重命名瑞士军刀
  • slap – 在 Node.js 上运行的类似 Sublime 的基于终端的文本编辑器
  • shipit – 简约的 SSH 部署
  • starring – 自动为您在 GitHub 上使用的 npm-packages 加星标。
  • tag – 立即跳转到您的 ag 匹配项。
  • wipe-modules – 删除非活动项目的 node_modules 文件夹的小代理

系统实用程序

与操作系统相关的工具,包括系统管理、系统调试以及文件和进程管理。

  • atop – ASCII 全屏性能监视器,能够报告所有进程的活动
  • batcat有翅膀的克隆人
  • bmon – 具有人性化视觉输出的实时网络带宽监控和速率估算器
  • bpytop – Linux/OSX/FreeBSD 资源监视器
  • catcli – 离线数据的命令行目录工具
  • ccat – ccat 是着色猫。它的工作方式与 cat 类似,但显示具有语法突出显示的内容。
  • exa – 现代版本的ls.
  • progress– Linux的工具来展示进度cprmdd,和更多…
  • stronghold– 从终端轻松配置 MacOS 安全设置。
  • glances扫视您的系统
  • goaccess -GoAccess 是一个实时网络日志分析器和交互式查看器,它在 *nix 系统的终端中运行。
  • hblock – 基于主机文件的广告拦截器
  • histstat – netstat 的历史记录
  • htop – 基于 ncurses 的交互式进程查看器,旨在成为一个更好的top
  • lnav – 小规模的高级日志文件查看器
  • logdissect – 用于分析日志文件和其他数据的 CLI 实用程序和 Python API。
  • ls++ – 类固醇上的彩色 ls
  • lsp – 一种改进的ls,具有简单语言和智能文件分组的文件描述
  • maza – 本地广告拦截器。类似于 Pi 孔,但在本地并使用您的操作系统。
  • mtr – 单个网络诊断工具中“traceroute”和“ping”程序的功能。
  • ncdu – NCurses 磁盘使用
  • nmtui – 用于控制 NetworkManager 的文本用户界面
  • powertop – 电池/电源使用情况和设备统计信息监控命令行工具,带有调整选项。
  • Prettyping – 使输出ping更漂亮,更丰富多彩,更紧凑,更易于阅读。
  • procdog – 对服务器等长期进程的轻量级命令行控制
  • quick-secure – 快速保护和强化 UNIX/Linux 系统
  • rng – 将文件或标准输入中的行范围复制到标准输出。
  • wifi-wand – 用于在 MacOS 上管理 WiFi 的 Ruby 命令行应用程序(由 安装gem install wifi-wand
  • xiringuito – 基于 SSH 的“穷人VPN”

下载和服务

用 shell 脚本编写的自托管轻量级服务器和网络工具。

  • aria2 – aria2 是一个轻量级的多协议和多源、跨平台下载实用程序,在命令行中运行。它支持 HTTP/HTTPS、FTP、BitTorrent 和 Metalink
  • balls -Bash on Balls
  • bashttpd – 用 Bash 编写的 Web 服务器
  • bashhub-server – 私有云 shell 历史记录。bashhub 的开源服务器
  • bitpocket – “DIY Dropbox”或“正确删除的 2 路目录 (r) 同步”
  • Dropbox-Uploader – Dropbox Uploader 是一个 Bash 脚本,可用于从 Dropbox 上传、下载、列出或删除文件
  • httpie – HTTPie 是一个命令行 HTTP 客户端,一个用户友好的 cURL 替代品
  • HTTPLab – 交互式 Web 服务器,可让您检查 HTTP 请求并伪造响应。
  • ngincat – 使用 netcat 的微型 Bash HTTP 服务器
  • resty – 您可以在管道中使用的小命令行 REST 客户端
  • shell2http – 用于执行 shell 命令的 HTTP 服务器。专为开发、原型制作或远程控制而设计
  • vesper——🍸Vesper 是 Bash/Unix Shell 的 HTTP 框架
  • xh – 用于发送 HTTP 请求的友好且快速的工具
  • youtube-dl – 用于从 YouTube.com 和其他视频网站下载视频的小型命令行程序

多媒体和文件格式

处理视频和音频文件的工具。

  • adb-export – 将 Android 内容提供程序导出为 CSV 格式
  • Android-Kitchen – 用于 Android ROM 定制的基于文本的厨房。使用 shell 脚本并与 Cygwin/OS X/Linux 配合使用
  • Beets – 音乐库管理器和 MusicBrainz 标记器
  • cmus – 跨平台 cli 音频播放器。
  • dasel – 使用命令行中的选择器查询和更新数据结构。与jq / yq相当,但支持 JSON、YAML、TOML 和 XML,运行时依赖为零。
  • fx – 匿名 JavaScript 函数的命令行 JSON 处理工具
  • gifgen – 简单的高质量 GIF 编码
  • image-scraper – 一个很酷的命令行图像抓取器,具有很多功能。
  • imgp – 快速批量图像调整器和旋转器
  • jo – 一个从命令行参数创建 JSON 对象的小实用程序。
  • jq – 用于 json 数据的 Sed。您可以使用它来切片和过滤以及映射和转换结构化数据
  • korkut – 在命令行中快速简单的图像处理。
  • mpv – 允许您在 shell 和 GUI 中播放大多数音频和视频格式(使用 ASCII 字符)。
  • nehm – 控制台工具,可以方便地下载、设置 IDv3 标签并添加到您的 iTunes(如果您使用它)您喜欢的 SoundCloud
  • PiCAST – PiCAST 将您 35 美元的 Raspberry Pi 变成类似设备的 Chromecast
  • sejda – PDF 文档的命令行操作(拆分、合并、旋转、转换为 jpg、提取文本等)
  • visidata – 用于探索和排列数据的终端电子表格多工具 (csv/json/xml/xls/yaml/etc)
  • xidel – 使用(图灵完备)XPath 和 XQuery 过滤、映射和创建 HTML/XML/JSON 数据的 Cli 工具。
  • xmlstarlet – 用于命令行 XML 格式化、过滤和操作的古老而强大的工具。
  • yq – yq 是一个便携式命令行 YAML 处理器

应用

基于命令行的应用程序或对现有服务的命令行访问。

  • ansiweather – 终端中的天气,带有 ANSI 颜色和 Unicode 符号
  • awless – 用于管理 AWS 的强大、创新和小型表面 CLI。
  • bashblog – 处理博客发布的 Bash 脚本
  • carbon-now-cli -🎨 代码的美丽图像 – 就在您的终端内。
  • choosealicense-cli – 从您的终端舒适地选择一个 OSS 许可证
  • cointop – 用于跟踪加密货币的最快和最具交互性的基于终端的 UI 应用程序
  • dstask – 基于单个二进制终端的 TODO 管理器,每个任务具有基于 git 的同步 + 降价注释
  • editly – 命令行视频编辑器
  • facebook-cli – Facebook 命令行工具
  • fanyi – 在终端中将英文翻译成中文
  • gcalcli – Google 日历命令行界面
  • geeknote – 命令行印象笔记客户端
  • haxor-news – 像 haxor 一样浏览黑客新闻
  • hn-cli – 从您的终端舒适地浏览黑客新闻
  • iponmap – 使用 IP 地址在世界地图上绘制点
  • isitup – 检查网站是启动还是关闭
  • jrnl – 一个简单的命令行日记应用程序,可将您的日记存储在纯文本文件中
  • kanban.bash – 用于极简生产力 bash 黑客的命令行 asciii 看板(基于 csv)
  • ledger– 命令行记帐
  • licen– 生成您的许可证。又一个虱子,但用 Jinja2 和 docopt 实现
  • md2png – 将 markdown 转换为 PNG 图像
  • moviemon – 命令行中有关电影的所有信息。
  • nomino – 使用正则表达式、排序和映射文件选项的批量重命名实用程序。
  • pcalc – 为程序员设计的计算器,用于处理多种数字表示、大小和整体接近位。
  • pockyt – 阅读、管理和自动化您的Pocket收藏。
  • pushblast – 在 shell 程序退出时获取 PushBullet 通知
  • pushbullet-bash – PushBullet API 的 Bash 接口
  • ranger – 带有 VI 键绑定的控制台文件管理器。
  • Reddit 终端查看器– 从您的终端浏览 Reddit
  • SAWS – 增压的 AWS CLI
  • taskbook任务簿– 命令行栖息地的任务、板和笔记
  • taskwarrior – 命令行 TODO 列表管理器
  • terjira – Jira 的命令行电源工具
  • ticker — 带有实时更新和位置跟踪的终端股票行情
  • transfer.sh — 从 shell 快速上传和共享文件
  • vl – 文本文档上的 URL 链接检查器
  • wego – 终端的天气应用程序
  • whales– 一种自动泊坞窗化应用程序的工具
  • whereami – 从 CLI 获取您的地理位置信息
  • wttr.in -⛅ 查看天气的正确方法(curl wttr.in)

游戏

只工作不玩耍是度过一天的糟糕方式。

shell包管理

用于管理多个 shell 配置的工具。对于特定于 zsh 的工具,请参阅 Zsh 部分。

  • bash-it – 一个社区 Bash 框架
  • basher – shell 脚本的包管理器
  • bashing – 将 Bash 粉碎成碎片
  • bpkg – JavaScript 有 npm,Ruby 有 Gems,Python 有 pip,现在 Shell 有 bpkg
  • dotdrop – 保存您的点文件一次,将它们部署到任何地方
  • dotfiler – 基于 git 的 Shell 不可知的 dotfiles 包管理器,用 Python 编写。
  • fresh– 保持你的点文件新鲜
  • homeshick – 用 Bash 编写的 Git 点文件同步器
  • shallow-backup– 轻松创建已安装包、点文件等的轻量级文档
  • shundle – shell 脚本的插件管理器
  • vcsh – 基于 Git 的配置管理器
  • yadm – 基于 Git 的点文件管理器,支持加密、替代和引导

Shell 脚本开发

用于编写、改进或组织 Bash 或其他 shell 脚本的工具

  • ansi – 纯 bash 中的 ANSI 转义码 – 更改文本颜色、定位光标等
  • assert.sh – Bash 单元测试框架
  • bashew – bash 脚本创建者 – 从小型独立脚本到具有 CI/CD 和测试的复杂项目
  • bashful – 一组用于简化编写 Bash 脚本的库
  • Bashlets – Bash 的模块化可扩展工具箱
  • bashmanager – 用于创建命令行工具的迷你 bash 框架
  • bashwithnails – 一个 Bash 框架,只是为了测试、依赖管理和打包的乐趣而编写的
  • bash-language-server -基于LSP的 Bash 语言服务器
  • bash-modules – 在启用非官方严格模式的情况下进行开发的功能。
  • bats – Bash 自动化测试系统
  • crash – ZSH 的正确错误处理、异常和 try/catch
  • critic.sh – 具有覆盖率报告的 Bash 简单的测试框架
  • esh – 基于 shell 的简单模板引擎,在约 290 行 POSIX shell 和 awk 中实现。
  • Fishtape – 鱼的 TAP 生产商和测试工具
  • composure – 编写、记录、版本和组织您的 shell 函数
  • dispatch – 50 行可移植 shell 脚本中的命令行参数解析器。
  • getoptions – 一个优雅的 shell 脚本选项解析器(sh、bash 和所有 POSIX shell)
  • is.sh – 内置测试命令的替代方案,它将使您的“if”语句变得漂亮
  • lumberjack – shell 脚本的日志记录界面
  • mo – 纯 bash 中的 Mustache 模板
  • optparse – getopts 的 BASH 包装器,用于简单的命令行参数。
  • rerun – 一个模块化的 shell 自动化框架来组织你的 keeper 脚本
  • revolver– 可重用的 shell 脚本进度微调器
  • phases– 微创 bash 预处理器,选择要运行的脚本部分
  • powscript – 用 bash 编写的 bash转译器(bash 的咖啡脚本)
  • semver_bash – Bash 中的语义版本控制
  • sh-semver – 用于 bash 的 Semver 工具 – 查找与指定规则匹配的版本
  • shellcheck – shell 脚本的静态分析工具
  • shellfire – 命名空间的、可组合的 shell(bash、sh 和 dash)函数库的存储库
  • shellspec – 用于 dash、bash、ksh、zsh 和所有 POSIX shell 的全功能 BDD 单元测试框架
  • shfmt – 支持 bash 的 shell 解析器、格式化器和解释器;包括 shfmt
  • shpec – 一个 shell 测试框架
  • shutdown – 基于 bash 和 pexpect 的自动化框架
  • sub – 一种组织节目的好方法
  • ts – 一个 shell 测试脚本
  • urchin – 仅使用 shell 命令的惯用 shell 测试框架
  • shunit2 – 具有 JUnit/PyUnit 风格的 Bash 脚本单元测试框架。
  • rebash – 脚本库/框架。功能:导入、异常、文档测试……
  • zunit – 强大的ZSH单元测试框架