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。
-
has –
has
帮助您检查路径上是否存在各种命令行工具及其版本 -
how2 –
how2
找到在 unix shell 中做某事的最简单方法。就像man
,但你可以用自然语言查询它。 -
navi – 命令行的交互式备忘单工具
-
hhighlighter – 为命令输出中的单词着色
-
hr –
<hr />
对于您的终端 -
hss – 具有自动完成和异步执行功能的交互式并行 ssh 客户端
-
hstr – Bash 历史建议框
-
k – k 是一个 Zsh 脚本,用于使目录列表更具可读性,添加 Git 状态、文件权重颜色和腐烂日期
-
k alias – 使用简单的单行代码获取 kool 别名(以及更多)
-
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 控制台更加友好和强大
-
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 脚本
定制
自定义提示、颜色主题等。
- base16-builder – Base16-Builder
- bash-full-of-colors – 带有屏幕、tmux、git 支持等的强大提示
- bash-git-prompt – 针对 Git 用户的信息丰富且花哨的 Bash 提示
- bash-powerline – 纯 Bash 脚本中的电力线风格的 Bash 提示
- bashstrap – 一种快速修饰OSX 终端的方法
- bullet-train-oh-my-zsh-theme -🚄 基于 Powerline Vim 插件的 oh-my-zsh shell 主题
- emojify命令行上的表情符号😱
- flatui-terminal-theme – 终端颜色更好
- geometry– 一个最小的 ZSH 主题,可以将任何函数添加到左侧提示或(异步)右侧提示中。
- git-prompt – 带有 Git、SVN 和 HG 模块的 Bash 提示
- gittify – 丰富多彩的 Bash 提示 + 自定义 Git 别名
- Gogh – 配色方案– Gnome 终端的配色方案
- Liquidprompt – 功能齐全且精心设计的 Bash 和 Zsh 自适应提示
- mysql-colorize – mysql 命令行客户端的着色
- oh-my-git – bash 和 zsh 的自以为是的 git 提示
- polyglot – 信息丰富的 Git 提示,适用于 bash、zsh、ksh、mksh、pdksh、dash 和 busybox sh
- powerlevel10k – 超级灵活的真棒电力线 ZSH 主题
- Sexy-bash-prompt – 带有颜色、Git 状态和 Git 分支的 Bash 提示
- starship – 用Rust编写的快速、可定制、跨壳的提示
- synth-shell – 带有可定制状态报告和花哨的 bash 提示的问候语
开发工具
命令行开发、版本控制和部署。
- ack – 针对源代码优化的类似 grep 的搜索工具。
- add-gitignore – 交互式 CLI,可根据您的需要为您的项目生成 .gitignore。
- bcal – 用于存储转换和计算的字节计算器
- bitwise – 诅咒中基于终端的交互式位操纵器。
- bocker – 用 100 行 bash 实现的 Docker
- cloc – 计算代码行数
- doclt – Digital Ocean 的命令行界面
- dokku – Docker 驱动的迷你 Heroku. 您见过的最小的 PaaS 实现。
- getopts.fish – 鱼的 CLI 解析器
- forgit –
git
利用模糊查找器 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 全屏性能监视器,能够报告所有进程的活动
- bat–
cat
有翅膀的克隆人 - bmon – 具有人性化视觉输出的实时网络带宽监控和速率估算器
- bpytop – Linux/OSX/FreeBSD 资源监视器
- catcli – 离线数据的命令行目录工具
- ccat – ccat 是着色猫。它的工作方式与 cat 类似,但显示具有语法突出显示的内容。
- exa – 现代版本的
ls
. - progress– Linux的工具来展示进度
cp
,rm
,dd
,和更多… - 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)
游戏
只工作不玩耍是度过一天的糟糕方式。
- bash2048 – 2048 游戏的 Bash 实现
- minesweeper –扫雷器的Bash 实现
- nudoku – 用 C 编写的基于 ncurses 的数独游戏
- piu-piu – 多人模式的 bash 水平滚动游戏!
- sedtris – sed 中的俄罗斯方块
- sed-scripts – 使用 sed 编写的打砖块和推箱子
- SHTAP – Bash 4 的可重用文本冒险引擎
- tty-solitaire – 在您的终端中玩纸牌!
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单元测试框架