天天看點

Awesome-Shell資源Awesome Shell指南其它 Awesome 清單

█████╗ ██╗ ██╗███████╗███████╗ ██████╗ ███╗ ███╗███████╗

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

███████║██║ █╗ ██║█████╗ ███████╗██║ ██║██╔████╔██║█████╗

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

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

╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝

███████╗██╗ ██╗███████╗██╗ ██╗

██╔════╝██║ ██║██╔════╝██║ ██║

███████╗███████║█████╗ ██║ ██║

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

███████║██║ ██║███████╗███████╗███████╗

╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝

作為一個合格的程式員,必備的技能就是cli的使用。 自從辦公系統從windows換成ubuntu,再到mac。就已離不開指令行工具了。在終端使用cli工具, 一是提高效率,二是節省系統資源。另外,主要是做後端,也不是很喜歡圖形界面的東西。

今天逛github的時候,發現一個awesome關于shell的資源,我前面也分享了一些awesome的相關的内容。

Awesome Shell

這是一份非常棒的指令行架構、工具包、指南、以及小玩意兒組織清單。由 awesome-php 獲得靈感。該 awesome 收集在 Unix-Shell.ZEEF.com 上也可用。

  • 指令行效率
  • 定制
  • 針對開發者
  • 系統工具
  • 下載下傳與服務
  • 多媒體與檔案格式
  • 應用程式
  • 遊戲
  • Shell 包管理
  • Shell 腳本開發
  • 指南
  • Awesome Zsh ![Awesome][awesome-badge]
  • Awesome Fish ![Awesome][awesome-badge]
  • 其它 Awesome 清單

指令行效率

使你的終端體驗更有效率的搜尋、書簽、多路複用、以及其它工具。

  • AdvancedNewFile - 以遞歸的方式快速建立檔案和目錄。 受Vim插件啟發。
  • ag - 在層級目錄中超快的搜尋字元串
  • aliases - 針對 bash 的上下文動态組織别名
  • aliasme - 用來快速更改目錄的 alias 輔助程式
  • autoenv - 基于目錄的環境
  • autojump - 自帶學習功能的 cd 指令,從指令行輕易地導航目錄
  • bashhub - :cloud: 在雲中的 bash 曆史,已索引且可搜尋。
  • bashmarks - 适用于 shell 的目錄書簽
  • bd - 迅速回到父目錄
  • boilr - 從 boilerplate 模闆建立項目的超快指令行工具
  • boom - 在指令行中存儲連結及片斷
  • borg - 基于終端的 bash 指令搜尋引擎
  • byobu - 基于文本的視窗管理器及終端多路複用器
  • CloudClip - 雲剪貼闆,在不同的系統之間 copy/paste (使用 gist 作為後端)
  • commacd - 在 Bash 中更快速的移動方式
  • desk - 适用于 shell 的輕量級工作區管理器
  • direnv - 針對 shell 的環境切換工具(利用 autoenv 比較)
  • enhancd - :rocket: 具有互動式過濾功能的下一代 cd 指令
  • fasd - 指令行效率提升器,提供快速通路檔案及目錄
  • foxy - 适合 Firefox 及 Surf 浏覽器的無格式文本書簽
  • fz - z 的無縫模糊補全
  • fzf - 指令行下的模糊搜尋器
  • hhighlighter - 在指令輸出中給單詞着色
  • hr - 适用于終端的

    <hr />

  • hss - 可互動的ssh批量執行用戶端,具有自動完成遠端路徑和異步執行的特性
  • hstr - Bash 曆史建議框
  • k - k 是一個使目錄清單更可讀的 Zsh 腳本,它增添了 Git 狀态、檔案顔色、以及腐朽的日期
  • k alias - 獲得用于單行的酷 alias
  • marker - 将你的 shell 指令加到書簽
  • mackup - 雲同步應用程式的配置檔案(OS X/Linux)
  • parallel - 以并行化方式從标準輸入構造并執行 shell 指令行
  • pathpicker - 允許将 grep、搜尋、git 等的輸出結果作為輸入,并提供友好的選擇界面,以便打開或作為指令的參數
  • percol - 為傳統的 UNIX shell 管道添加互動式的過濾
  • qfc - 針對 Bash 和 Zsh 的檔案補全 widget
  • SHML - 适用于終端的樣式架構 (Shell 标記語言)
  • slugify - 将檔案名及目錄轉換為 web 友好的格式
  • sman - :bug: 指令行下的片斷管理器
  • spark - ▁▂▃▅▂▇ 在你的 shell 中
  • shark - ▁▂▃▅ Sparkline 生成器
  • sheet - 用于指令行的文本片斷
  • spot - 微型的檔案搜尋工具
  • snips - 管理代碼片斷的指令行工具
  • sshfs - 通過 SSH 挂載遠端檔案系統的工具
  • sshpass - 通過指令行傳遞ssh密碼,無需再次輸入,适合用于腳本之中
  • autossh - 自動重新開機ssh通道和會話
  • mosh - 第一個實作SSP的應用,MIT的博士項目,使得C/S之間可以保持連結持續,即使斷開還能恢複之前的狀态
  • sshrc - SSH 時帶上你的 .bashrc、.vimrc 等
  • sudocabulary - 從終端學習英語詞彙
  • thefuck - 通過使用容易記住的指令修正常見的 shell 錯誤
  • tmux - 很棒的終端複用器
  • up - 按名稱或計數升序排列目錄,支援 bash 和 zsh
  • v - 适用于 Vim 的 z
  • wemux - 多使用者使用 Tmux 變得更容易
  • z - z 是新的 j
Awesome-Shell資源Awesome Shell指南其它 Awesome 清單

定制

定制提示符、顔色主題等。

  • base16-shell - 适用于 shell 的 Base16
  • bash-full-of-colors - 超強的指令行提示(含 screen、tmux、git 等支援)
  • bash-git-prompt - 針對 Git 使用者的資訊及夢幻提示符
  • bash-powerline - Powerline 風格的 Bash 提示符,純 Bash 腳本
  • bashstrap - 美化 OS X 終端的快速方法
  • bullet-train-oh-my-zsh-theme - :bullettrain_side: 基于 Powerline Vim 插件的 oh-my-zsh shell 主題
  • emojify - 适用于指令行的表情 :scream:
  • flatui-terminal-theme - 很好的終端顔色主題
  • git-prompt - 包含 Git、SVN 及 HG 子產品的 Bash 提示符
  • gittify - 彩色的 Bash 提示符及定制的 Git 别名
  • Gogh - Color Scheme - 适用于 GNOME 終端的顔色主題
  • liquidprompt - 針對 Bash 和 Zsh 的全功能及用心設計的自适應提示符
  • mysql-colorize - 彩色的 MySQL 指令行用戶端
  • oh-my-git - 針對 Bash 和 Zsh 的自用 Git 提示符
  • sexy-bash-prompt - 包含顔色、Git 狀态及 Git 分支的 Bash 提示符

針對開發者

指令行開發、版本控制、以及部署。

  • bocker - 使用百行 bash 實作的 Docker
  • cloc - 統計代碼行數
  • dokku - 百行 Bash 打造的 Docker 迷你 Heroku
  • fish-getopts - 适用于 fish 的指令行解析器
  • git-extra-commands - 很多 Git 擴充工具,包括 churn、cut-branch、improved-merge 等
  • git-extras - Git 工具,包括倉庫摘要、repl、更改日志人數、作者送出百分比等
  • git-open - 輸入

    git open

    在浏覽器中打開 GitHub 頁面或倉庫網站
  • git-semver - 用來友善的語義化版本及更改日志驗證的 Git 插件
  • git-sh - 适合 Git 工作的定制 Bash 環境
  • git-up - 自動變基進來的更改代替合并,優雅!
  • hub - 更易使用 GitHub 的指令行工具
  • mr - 多倉庫管理工具
  • overcommit - 完全可配置且可擴充的 Git hook 管理器
  • pre-commit - 用于管理及維護多語言 pre-commit hooks 的架構
  • repren - 指令行搜尋與替換及檔案重命名的瑞士軍刀式工具
  • slap - 運作在 Node.js 上的基于終端的類 Sublime 文本編輯器
  • shipit - 極簡 SSH 部署
  • tag - 立即跳到你的公牛隊比賽

系統工具

作業系統相關工具,包括系統管理、系統調試、及檔案和程序管理。

  • atop - 能夠報告所有程序活動的 ASCII 全屏性能螢幕
  • cv - 顯示 cp、rm、dd 等指令進度的 Linux 工具
  • glances - 系統監視之眼
  • goaccess - 運作于 *nix 系統終端中的實時 web 日志分析器及互動式檢視器
  • histstat - 适用于 netstat 的曆史
  • htop - 基于 ncurses 的互動式程序檢視器,其目标是比

    top

    更好
  • lnav - 小型的進階日志檔案檢視器
  • lsp - 改進的

    ls

    ,包含無格式語言的檔案說明及智能的檔案分組
  • mtr - traceroute 和 ping 功能合二為一的網絡診斷工具
  • ncdu - NCurses 磁盤占用統計
  • powertop - 電池/電源占用及裝置狀态監視指令行工具,包含調整選項
  • procdog - 輕量級的指令行控制類似伺服器的長實時程序
  • quick-secure - 快速的安全并加強 UNIX/Linux 系統
  • wifi-wand - 一個用來管理MacOs上 WiFi無線網絡的Ruby指令行應用程式, 安裝請執行

    gem install wifi-wand

    )

下載下傳與服務

使用 shell 腳本編寫的自架、輕量級伺服器與網絡工具。

  • aria2 - aria2 是一款在指令行中操作的輕量級多協定、多來源、及跨平台下載下傳工具,它支援 HTTP/HTTPS、FTP、BitTorrent 及 Metalink
  • balls - Bash on Balls,全功能的 web 平台
  • bashttpd - 使用 Bash 編寫的 web 伺服器
  • bitpocket - "DIY Dropbox" 或 "雙向目錄同步(含正确删除)"
  • Dropbox-Uploader - Dropbox Uploader 是用來從 Dropbox 上傳、下載下傳、列出或删除檔案的 Bash 腳本
  • httpie - HTTPie 是一個指令行 HTTP 用戶端,使用者友好的 cURL 替代品
  • http-server - http-server可以啟動一個輕量級的http服務
  • ngincat - 使用 netcat 的微型 Bash HTTP 伺服器
  • resty - 你可以在管道中使用的小型指令行 REST 用戶端
  • youtube-dl - 從 YouTube.com 及其它視訊站點下載下傳視訊的小指令行程式
  • coursera-dl - 從Course公開課上下載下傳視訊

多媒體與檔案格式

用于處理視訊及音頻檔案的工具。

  • adb-export - 導出 Android 内容提供商為 CSV 格式
  • Android-Kitchen - 基于文本的 Android ROM 定制 kitchen,使用 shell 腳本并支援 Cygwin/OS X/Linux
  • Beets - 音樂庫管理器及 MusicBrainz 标簽工具
  • cmus - 跨平台的指令行音樂播放器
  • gifgen - 簡單高品質的 GIF 編碼
  • image-scraper - 包含諸多特性的酷指令行圖像 scraper
  • jq - 針對 json 資料的 Sed,你可以使用它分片、過濾、映射及變換結構化資料
  • csvtookit - 使用pip install csvki安裝, csv檔案進行處理的強大工具
  • mplayer - 讓你在 shell 中播放主流的音頻及視訊格式(使用 ASCII 字元)
  • nehm - 下載下傳、設定 IDv3 标簽、并添加到 iTunes 的控制台工具
  • PiCAST - PiCAST 将你的 35 刀 Raspberry Pi 變成類 Chromecast 裝置
  • sejda - 指令行下的 PDF 文檔處理工具(分割、合并、旋轉、轉換為 jpg、提取文本等)
  • xmlstarlet - 古老而強大的指令行 XML 格式化、過濾及處理工具
  • ffmpeg - 非常強大的視訊處理工具
  • imageMagick - 其強大有目共睹

應用程式

基于指令行的應用程式或從指令行通路現有服務。

  • ansiweather - 終端中的天氣預報,包含 ANSI 顔色及 Unicode 符号
  • bashblog - 處理 blog 投遞的 Bash 腳本
  • choosealicense-cli - 從終端選授權合約
  • facy - 指令行下的 Facebook 用戶端
  • fanyi - 翻譯英文為中文的指令行工具
  • geeknote - 指令行的 Evernote 用戶端
  • haxor-news - 像黑客一樣浏覽 Hacker News
  • hn-cli - 從終端舒服的浏覽 Hacker News
  • iponmap - 利用 IP 位址在世界地圖上繪點
  • isitup - 檢查一個網站是否正常上線
  • jrnl - 使用無格式文本檔案存儲日記的簡單指令行程式
  • ledger - 指令行記賬
  • licen - 生成項目 license
  • md2png - 從 markdown 檔案生成 png 圖檔
  • moviemon - 有關在指令行下看電影的每樣東東
  • pushblast - 當 shell 程式退出時獲得 PushBullet 通知
  • pushbullet-bash - PushBullet API 的 Bash 接口
  • Reddit Terminal Viewer - 從終端浏覽 Reddit
  • SAWS - 超強的 AWS 指令行界面
  • taskwarrior - 一個指令行去做清單管理器
  • transfer.sh — 從 shell 快速上傳并分享檔案
  • vl - 針對文本文檔的 URL 連結檢查器
  • wego - 适用于終端的天氣預報應用
  • whereami - 從指令行獲得你的地理位置資訊
  • fail2ban - SSH防爆破

遊戲

隻顧工作而不玩玩是一種糟糕的度日方式。

  • bash2048 - 2048 遊戲的 Bash 實作
  • minesweeper - 掃雷的 Bash 實作
  • piu-piu - 水準滾動遊戲 Bash 實作
  • sedtris - 使用 sed 實作的俄羅斯方塊
  • sed-scripts - 使用 sed 編寫的 Arkanoid 和 Sokoban

Shell 包管理

用于管理多個 shell 配置的工具。對于特定的 zsh 工具,參閱 Zsh 節。

  • bash-it - 社群化的 Bash 架構
  • basher - 針對 shell 腳本的包管理器
  • bpkg - JavaScript 有 npm、Ruby 有 Gems、Python 有 pip,現在 Shell 有 bpkg
  • dotfiler – 使用 Python 編寫的基于 Git 的 Shell dotfiles 管理器
  • fresh - 使你的 dotfiles 保持更新
  • homeshick - 使用 Bash 編寫的 Git dotfile 同步器
  • vcsh - 基于 Git 的配置管理器
  • shundle - 适用于 shell 腳本的插件管理器

Shell 腳本開發

用于編寫、改進、及管理 Bash 或其它 shell 腳本的工具。

  • ansi - 使用純 Bash 實作的 ANSI 轉義碼,包括更改文本顔色、定位光标等等
  • assert.sh - Bash 單元測試架構
  • bashful - 簡化編寫 Bash 腳本的庫收集
  • bashmanager - 用來建立指令行工具的微型 Bash 架構
  • bats - Bash 自動化測試系統
  • Fishtape - 适用于 fish 的 TAP 産生器及測試工具
  • composure - 撰寫、文檔、版本、及組織你的 shell 函數
  • dispatch - 使用 50 行可移植 shell 腳本寫成的指令行參數解析器
  • is.sh - 内置 test 指令的替代品,使 "if" 語句更漂亮
  • mo - 使用純 Bash 實作的 Mustache 模闆
  • optparse - 針對 getopts 的 BASH wrapper,用于簡單的指令行參數
  • rerun - 用來管理保留腳本的子產品化 shell 自動化架構
  • semver_bash - 使用 Bash 實作的語義化版本
  • sh-semver - 适用于 bash 的 Semver 工具,比對指定規則來查找版本
  • shellcheck - 針對 shell 腳本的靜态化分析工具
  • shellfire - 命名空間倉庫,可寫 shell (bash、sh 及 dash) 函數庫
  • shpec - shell 測試架構
  • sub - 以美味之道來管理程式
  • ts - shell 測試腳本
  • shunit2 - 适用于 Bash 腳本的單元測試架構(具有 JUnit/PyUnit 風味)
  • rebash - 腳本庫/架構,包含 imports、exceptions、doc-tests 等功能

指南

  • Bash 黑客的維基
  • Greg Wooledge(又名 "greycat")的維基:尤其是 Bash 指南、Bash 疑難問答 及 Bash 陷阱
  • Google 的 Shell 風格指南
  • Linux 文檔項目: Bash 程式設計 - 簡介/如何做
  • Linux 文檔項目: 進階 Bash 腳本指南
  • WikiBooks: Bash Shell 腳本
  • 使用非官方的 Bash 嚴格模式 (除非你愛調試)
  • 指令行的藝術
  • 學會成為指令行殺手
  • 學習bash的指南

其它 Awesome 清單

其它很棒的 awesome 清單可在 awesome-awesome 和 awesome-awesomeness 找到。

Awesome-Shell資源Awesome Shell指南其它 Awesome 清單