Shell

 █████╗ ██╗    ██╗███████╗███████╗ ██████╗ ███╗   ███╗███████╗
██╔══██╗██║    ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗  ███████╗██║   ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝  ╚════██║██║   ██║██║╚██╔╝██║██╔══╝
██║  ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝  ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝
███████╗██╗  ██╗███████╗██╗     ██╗
██╔════╝██║  ██║██╔════╝██║     ██║
███████╗███████║█████╗  ██║     ██║
╚════██║██╔══██║██╔══╝  ██║     ██║
███████║██║  ██║███████╗███████╗███████╗
╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝

精选的优秀命令行框架,工具包,指南和小玩意的列表. 受到awesome-php的启发. 这个很棒的收藏也可以在 Unix-Shell.ZEEF.com. -[ Awesome Zsh ] [awesome-zsh] [![Awesome] [awesome-badge]] [awesome-zsh] -[ Awesome Fish ] [awesome-fish] [![Awesome] [awesome-badge]] [awesome-fish]

Shells

选择您的基础外壳.

  • bash -GNU工程的外壳(Bourne Again SHell)
  • elvish -友好,富有表现力的外壳功能,例如匿名函数和数据结构
  • fish -智能和用户友好的命令行外壳
  • ksh93 -康恩·壳
  • mksh -MirBSD Korn Shell
  • oksh -便携式OpenBSD ksh
  • osh -与Bash兼容,并使用称为Oil的新/现代Unix Shell语言
  • pdksh -公共领域的Korn Shell
  • shell++ -友好而现代的功能和面向对象的Shell脚本语言
  • shenv -简单的shell版本管理
  • tcsh -具有文件名完成和命令行编辑功能的C Shell
  • xiki -使Shell控制台更加友好和强大
  • xonsh -类似于Python的BASHwards外观的Shell语言和命令提示符
  • zsh -具有脚本语言的强大Shell

Command-Line Productivity

搜索,书签,多路复用和其他工具,可以使您的终端体验更加高效.

  • AdvancedNewFile -以递归方式快速创建文件和目录. 受Vim插件启发.
  • ag -通过目录层次结构进行超级快速的字符串搜索
  • aliases -bash的上下文,动态,组织化别名
  • aliasme -别名助手可快速更改目录
  • autoenv -基于目录的环境
  • autojump -学习的cd命令-从命令行轻松浏览目录
  • bashhub -:cloud:Bash历史记录在云中. 索引和可搜索.
  • bashmarks -Shell的目录书签
  • bd -快速返回上级目录
  • boilr -一种非常快速的CLI工具,用于从样板模板创建项目.
  • boom -在命令行中存储链接和摘要
  • borg -基于终端的bash命令搜索引擎
  • browsh -现代的基于文本的浏览器
  • Buku -强大的命令行书签管理器
  • byobu -基于文本的窗口管理器和终端多路复用器
  • commacd -在Bash中四处走动的更快方法
  • CloudClip -您在云端的剪贴板,在不同系统之间根据要点复制和粘贴文本
  • ddgr -终端上的DuckDuckGo
  • desk -外壳的轻量级工作区管理器
  • direnv -Shell的环境切换器,与autoenv比较
  • dnote -开发人员使用的简单的端到端加密笔记本
  • enhancd -:rocket:具有交互式过滤器的下一代cd命令
  • fasd - Command-line productivity booster, offers quick access to files and directories
  • fd -一种简单,快速且用户友好的替代方法.
  • foxy -用于Firefox和冲浪浏览器的纯文本书签.
  • fselect -使用类似SQL的查询查找文件.
  • fz -z的无缝模糊制表符完成
  • fzf -命令行模糊查找器
  • googler -终端上的Google搜索,Google站点搜索,Google新闻
  • googlr -命令行工具,可让您从终端上搜索Google.
  • goto -用于导航到支持自动完成的别名目录的Shell实用程序
  • has -`has'可帮助您检查路径中是否存在各种命令行工具及其版本
  • how2 -how2找到在UNIX shell中做某事的最简单方法. 就像man,但是您可以用自然语言查询它.
  • hhighlighter -在命令输出中为单词着色
  • hr -`
    为您的终端
  • hss -具有自动完成和异步执行功能的交互式并行ssh客户端
  • hstr -Bash历史记录建议框
  • jump -Jump通过学习习惯来帮助您更快地浏览文件系统.
  • k -k是Zsh脚本,可以使目录列表更加可读,并添加Git状态,文件重量颜色和腐烂日期
  • k alias -使用简单的单线获取kool别名(以及更多)
  • lazy-cd -简单的bash命令,用于书签导航文件系统,并带有bash-completion.
  • lf.sh -快速搜索键入更少的文件,然后执行更多操作(抓取,复制路径到剪贴板等)
  • Lmod -基于Lua的环境模块,该模块增强了基于Tcl的模块,同时向后兼容(与模块相比)
  • loop -以单线形式编写和控制复杂的循环
  • marker -为您的shell命令添加书签
  • mackup -使您的应用程序设置保持同步(OS X / Linux)
  • mcfly -浏览您的外壳历史. 大苏格兰人!
  • modules -管理外壳环境的基于Tcl的经典环境模块(与Lmod,direnv和autoenv相比)
  • nnn -具有出色的桌面集成功能的文件浏览器和磁盘使用分析器
  • parallel -从标准输入并行构建和执行Shell命令行
  • pathpicker -接受grep,search,git等输入; 允许从输入结果中选择文件,然后可以打开文件或将其提供为命令的参数.
  • pdd -带有计时器的微小日期,时差计算器
  • percol -在UNIX shell的传统管道概念中增加了交互式过滤的风格
  • q -Vim就像Bash和Zsh Shell的宏寄存器一样
  • qfc -用于Bash和Zsh的文件完成小部件
  • rg -ripgrep是一种面向行的搜索工具,结合了Silver Searcher的可用性和GNU grep的原始速度
  • screen -GNU终端多路复用器
  • shell-history -通过Highcharts可视化您的shell使用情况
  • SHML -终端的样式框架(Shell标记语言)
  • slugify -将文件名和目录转换为Web友好格式的命令
  • sman -:bug:命令行摘要管理器
  • spark -▂▃▅▂▇在你的壳里
  • shark -▂▃▅迷你图生成器
  • sheet -命令行的文本片段
  • spot -微小的文件搜索工具
  • snips -用于管理代码段的命令行工具.
  • sqlline -用于通过JDBC向关系数据库发布SQL的Shell(多行,完成,突出显示,方言支持)
  • sshfs -通过SSH挂载远程文件系统的工具
  • sshrc -SSH时随身携带.bashrc,.vimrc等
  • sudocabulary -从您的终端学习英语词汇
  • surfraw -浏览特定站点并从没有浏览器的终端搜索网络.
  • task-manager -仅需执行两次或三个击键即可执行所有脚本.
  • td-cli -一个待办事项命令行管理器,可以跨多个项目组织和管理您的待办事项.
  • thefuck -使用易于记忆的命令修复常见的Shell错误
  • tldr -用于tldr,简化和社区驱动的手册页的全功能bash客户端
  • tmux -惊人的终端多路复用器
  • undollar -美元刚从您刚粘贴到终端的命令提示中咬掉美元符号
  • up -按名称或计数升序目录; 用于bash,zsh和鱼.
  • v -z代表vim.
  • wemux -简化多用户Tmux
  • xsv -用Rust编写的快速CSV命令行工具包
  • z -z是新的j,哟
  • z.lua -新的cd命令,可帮助您通过学习习惯来更快地导航

Customization

Custom prompts, color themes, etc.

For Developers

命令行开发,版本控制和部署.

  • ack -类似于grep的搜索工具,针对源代码进行了优化.
  • add-gitignore -交互式CLI,可根据需要为您的项目生成.gitignore.
  • bcal -用于存储转换和计算的字节CALculator
  • bitwise -诅咒中基于终端的交互式位操纵器.
  • bocker -在100行bash中实施Docker
  • cloc -计算代码行
  • doclt -数字海洋的命令行界面
  • dokku -Docker驱动的mini-Heroku. 您见过的最小的PaaS实现.
  • fish-getopts -鱼的CLI解析器
  • forgit -利用模糊查找器fzf的git实用工具.
  • 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环境
  • hub -集线器可帮助您在git上获胜.
  • licins -将注释的软件许可证插入源代码.
  • mr -多个存储库管理工具
  • overcommit -完全可配置和可扩展的Git挂钩管理器
  • pre-commit -用于管理和维护多语言预提交挂钩的框架
  • rebound -遇到编译器错误时,立即在终端中浏览堆栈溢出结果
  • repren -命令行搜索替换和文件重命名瑞士军刀
  • slap -在Node.js上运行的类似Sublime的基于终端的文本编辑器
  • shipit -简约的SSH部署
  • starring -自动为您在GitHub上使用的npm-package加上星号.
  • tag -立即跳转到您的AG比赛.
  • wipe-modules -删除非活动项目的node_modules文件夹的小代理
  • xtm -命令行工具,可帮助您管理Xcode项目模板.

System Utilities

*与OS相关的工具,包括系统管理,系统调试以及文件和进程管理.

  • atop -ASCII全屏性能监视器,能够报告所有进程的活动
  • bat -带有翅膀的“猫”克隆
  • bmon -实时网络带宽监控器和速率估算器,具有人性化的视觉输出
  • catcli -用于离线数据的命令行目录工具
  • exa -ls的现代版本.
  • progress -Linux工具,用于显示cprmdd等的进度.
  • stronghold -从终端轻松配置MacOS安全设置.
  • glances -一览您的系统
  • goaccess -GoAccess是实时Web日志分析器和交互式查看器,可在 * nix系统的终端中运行.
  • hblock -基于主机文件的adblocker
  • histstat -netstat的历史记录
  • htop -基于ncurses的交互式过程查看器,旨在成为更好的“顶端”
  • lnav -小型的高级日志文件查看器
  • logdissect -CLI工具和Python API,用于分析日志文件和其他数据.
  • ls++ -在类固醇上的彩色ls
  • lsp -改进的ls,具有简单语言的文件描述和智能文件分组功能
  • mtr -单个网络诊断工具中“ traceroute”和“ ping”程序的功能.
  • ncdu -NCurses磁盘使用情况
  • nmtui -用于控制NetworkManager的文本用户界面
  • powertop -电池/电源使用情况和设备状态监视命令行工具,带有调优选项.
  • procdog -轻量级命令行控制服务器等长期存在的进程
  • quick-secure -快速保护和加固UNIX / Linux系统
  • rng -将行范围从文件或标准输入复制到标准输出.
  • wifi-wand -用于在MacOS上管理WiFi的Ruby命令行应用程序(由gem install wifi-wand安装)
  • xiringuito -基于SSH的“穷人专用VPN”

Downloading and Serving

以Shell脚本编写的自托管,轻量级服务器和网络工具.

  • aria2 -aria2是一种轻量级的多协议和多源,跨平台下载实用程序,可在命令行中运行. 它支持HTTP / HTTPS,FTP,BitTorrent和Metalink
  • balls -重击球
  • bashttpd -用Bash编写的Web服务器
  • bitpocket -“ DIY Dropbox”或“两向目录(r)同步并正确删除”
  • Dropbox-Uploader -Dropbox Uploader是一个Bash脚本,可用于从Dropbox上传,下载,列出或删除文件
  • httpie -HTTPie是命令行HTTP客户端,一种用户友好的cURL替代
  • HTTPLab -交互式Web服务器,可让您检查HTTP请求并伪造响应.
  • ngincat -使用netcat的Tiny Bash HTTP服务器
  • resty -可在管道中使用的小命令行REST客户端
  • shell2http -HTTP服务器执行Shell命令. 专为开发,原型制作或远程控制而设计
  • youtube-dl -小型命令行程序,可从YouTube.com和其他视频网站下载视频

Multimedia and File Formats

用于处理视频和音频文件的工具.

  • Android-Kitchen -用于Android ROM定制的基于文本的厨房. 使用Shell脚本并与Cygwin / OS X / Linux一起使用
  • Beets -音乐库经理和MusicBrainz标记器
  • cmus -跨平台的cli音频播放器.
  • gifgen -简单的高质量GIF编码
  • image-scraper -具有许多功能的超酷命令行图像抓取工具.
  • imgp -炽热的快速批处理图像缩放器和旋转器
  • jo -一个小实用程序,可从命令行参数创建JSON对象.
  • jq -读取json数据. 您可以使用它来切片和过滤以及映射和转换结构化数据
  • korkut -在命令行中进行快速简单的图像处理.
  • mpv -使您可以在外壳和GUI中播放大多数音频和视频格式(使用ASCII字符).
  • nehm -控制台工具,可以方便地下载,设置IDv3标签并将其添加到iTunes(如果使用的话),从而使您的SoundCloud喜欢
  • PiCAST -PiCAST可将您35美元的Raspberry Pi转换为类似设备的Chromecast
  • sejda -PDF文档的命令行操作(拆分,合并,旋转,转换为jpg,提取文本等)
  • xidel -Cli工具,用于(完整)XPath和XQuery来过滤,映射和创建HTML / XML / JSON数据.
  • xmlstarlet -旧的但功能强大的工具,用于命令行XML格式,过滤和操作.
  • fx -Anononymus JavaScript函数提供的命令行JSON处理工具

Applications

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

  • ansiweather -终端中的天气,带有ANSI颜色和Unicode符号
  • awless -强大,创新的小型地面CLI来管理AWS.
  • bashblog -处理博客发布的Bash脚本
  • carbon-now-cli -代码的精美图片-从终端内部直接显示.
  • choosealicense-cli -在舒适的终端上选择OSS许可证
  • cointop -最快,最互动的基于终端的UI应用程序,用于跟踪加密货币
  • facebook-cli -Facebook命令行工具
  • fanyi -在终端中将英语翻译成中文
  • gcalcli -Google日历命令行界面
  • geeknote - Command line evernote client
  • haxor-news -像黑客一样浏览黑客新闻
  • hn-cli -在舒适的终端上浏览黑客新闻
  • iponmap -使用IP地址在世界地图上绘制点
  • isitup -检查网站是否正常
  • jrnl -一个简单的命令行日志应用程序,将您的日志存储在纯文本文件中
  • ledger -命令行会计
  • licen -生成您的许可证. 另一个虱子,但是用Jinja2和docopt实现
  • md2png -将降价转换为PNG图片
  • moviemon -在命令行中有关电影的所有内容.
  • pockyt -阅读,管理和自动化您 Pocket 采集.
  • pushblast -当Shell程序退出时获取PushBullet通知
  • pushbullet-bash -PushBullet API的Bash接口
  • ranger -具有VI键绑定的控制台文件管理器.
  • Reddit Terminal Viewer -从您的终端浏览Reddit
  • SAWS -增压的AWS CLI
  • taskbook -命令行栖息地的任务,委员会和说明
  • taskwarrior -命令行TODO列表管理器
  • terjira -用于Jira的命令行电动工具
  • transfer.sh -从您的外壳快速上传和共享文件
  • vl -文本文档上的URL链接检查器
  • wego -终端的天气应用
  • whales -一种自动对应用程序进行泊坞窗管理的工具
  • whereami -从CLI获取您的地理位置信息
  • wttr.in -:partly_sunny:检查天气的正确方法(curl wttr.in)

Games

所有工作且没有娱乐是度过美好时光的粗鲁方式.

  • bash2048 -2048游戏的Bash实现
  • minesweeper -Bash实施扫雷
  • nudoku -用C语言编写的基于ncurses的数独游戏
  • piu-piu -具有多人游戏模式的bash水平滚动游戏!
  • sedtris - 但世界
  • sed-scripts -使用sed编写的打砖块和推箱子
  • SHTAP -适用于Bash 4的可重用文本冒险引擎
  • tty-solitaire -在您的终端上玩单人纸牌!

Shell Package Management

用于管理多个外壳配置的工具. 有关特定于zsh的工具,请参见Zsh部分.

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

Shell Script Development

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

  • ansi -纯bash的ANSI转义码-更改文本颜色,定位光标等等
  • assert.sh -Bash单元测试框架
  • bashful -简化了编写Bash脚本的库集合
  • Bashlets -用于Bash的模块化可扩展工具箱
  • bashmanager -用于创建命令行工具的mini bash框架
  • bashwithnails -一个Bash框架,专门为测试,依赖性管理和打包而设计
  • bash-language-server - LSP基于Bash的语言服务器
  • bats -Bash自动化测试系统
  • crash -正确的错误处理,异常和ZSH的try / catch
  • Fishtape -TAP生产商和鱼类测试装备
  • composure -编写,记录,版本化和组织您的Shell函数
  • dispatch -50行可移植Shell脚本中的命令行参数解析器.
  • is.sh -内置测试命令的替代方法,它将使您的“ if”语句变得漂亮
  • lumberjack -Shell脚本的日志记录界面
  • mo -纯bash的胡须模板
  • optparse -用于getopts的BASH包装器,用于简单的命令行参数.
  • rerun -模块化的shell自动化框架,用于组织您的keeper脚本
  • revolver -Shell脚本的可重用进度微调器
  • phases -微创bash预处理器,选择要运行的脚本部分
  • semver_bash -Bash中的语义版本控制
  • sh-semver -用于bash的Semver工具-查找与指定规则匹配的版本
  • shellcheck -用于Shell脚本的静态分析工具
  • shellfire -命名空间,可组合外壳(bash,sh和dash)函数库的存储库
  • shpec -一个外壳测试框架
  • shutit -基于bash和pexpect的自动化框架
  • sub -一种组织程序的好方法
  • ts -Shell测试脚本
  • urchin -仅使用shell命令的惯用shell测试框架
  • shunit2 -具有JUnit / PyUnit风格的Bash脚本的单元测试框架.
  • rebash -脚本库/框架. 功能:导入,异常,文档测试...
  • zunit -强大的ZSH单元测试框架

Guides

Other Awesome Lists

其他惊人的列表可以在 awesome-awesomeawesome-awesomeness.

See also

[awesome-badge]:https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg [awesome-fish]:https://github.com/jorgebucaran/awesome-fish [awesome-link]:https://github.com/sindresorhus/awesome [awesome-zsh]:https://github.com/unixorn/awesome-zsh-plugins