本文首發於:微信公衆號「運維之美」,公衆號 ID:Hi-Linux。html
「運維之美」是一個有情懷、有態度,專一於 Linux 運維相關技術文章分享的公衆號。公衆號致力於爲廣大運維工做者分享各種技術文章和發佈最前沿的科技信息。公衆號的核心理念是:分享,咱們認爲只有分享才能使咱們的團體更強大。若是你想第一時間獲取最新技術文章,歡迎關注咱們!git
公衆號做者 Mike,一個月薪 3000 的雜工。從事 IT 相關工做 15+ 年,熱衷於互聯網技術領域,認同開源文化,對運維相關技術有本身獨特的看法。很願意將本身積累的經驗、心得、技能與你們分享交流,篇篇乾貨不要錯過喲。若是你想聯繫到我,可關注公衆號獲取相關信息。github
衆所周知,咱們在 Linux 下大多數時候是使用命令行來處理任務的。這樣不但操做起來效率比較高,並且界面也比較炫酷。下面,咱們就給你們推薦一些不但炫酷又好用的 Linux 命令行神器。web
exa 是一個用來替代 ls 的工具, exa 相比於 ls 增長了不少新的特性,好比:支持不一樣文件類型能夠用不一樣顏色來展現、exa 比 ls 速度更快一些等。正則表達式
項目地址:https://github.com/ogham/exashell
更多詳細介紹可參考:「推薦一個比 ls 命令速度快 100 倍的文件目錄瀏覽神器」 一文。npm
fd 是基於 Rust 開發的一個速度超快的命令行搜索工具,fd 旨在成爲 Linux / Unix 下 find 命令的替代品。json
fd 雖然不能提供如今 find 命令全部的強大功能,但它也提供了足夠強大的功能來知足你平常須要。好比:簡潔的語法、彩色的終端輸出、超快的查詢速度、智能大小寫、支持正則表達式以及可並行執行命令等特性。服務器
更多詳細介紹可參考:「推薦一款比 Find 快 10 倍的搜索工具 FD」 一文。
Ripgrep 是命令行下一個基於行的命令行搜索工具,比 ag、grep、ack 速度更快。RipGrep 使用 Rust 開發,能夠在多平臺下運行,支持 Mac、Linux 和 Windows 等平臺。
更多詳細介紹可參考:「推薦一款命令行下最快的文本搜索神器 RipGrep」 一文。
Tig 是一款命令行下 Git 的可視化工具,能夠很方便地在命令行下以交互的方式完成 Git 的各類操做。
FZF 是使用 GO 語言開發的一款命令行下支持模糊搜索的交互式工具。FZF 能夠用來查找任何列表內容,包括文件、Git 分支、進程等。全部的命令行工具均可以生成列表後再經過管道將結果輸入到 FZF 上進行模糊搜索。FZF 還能夠結合其它工具(好比:rg、bat 和 Fasd )來完成更多的工做。
FPP (Facebook Path Picker ) 是由 Fackbook 開源一款終端多文件路徑選擇工具,它能夠用於完善優化終端中的操做, 好比:Git、Grep 等的輸出結果。
BAT 是命令行下一款用來顯示文件內容的工具,bat 命令功能跟經常使用命令 cat 相似。只是 bat 功能上更增強大一些,bat 在 cat 命令的基礎上加入了行號顯示、代碼高亮和 Git 集成。
更多詳細介紹可參考:「推薦一款命令行下支持語法高亮和Git集成的文件查看工具 bat」 一文。
MyCli 是一個 MySQL 的命令行客戶端,能夠實現自動補全和語法高亮。MyCli 也可用於 MariaDB 和Percona。
項目地址:http://mycli.net/
更多詳細介紹可參考:「MySQL的加強型語法高亮終端-MyCli」 一文。
HTop 稱之爲 Top 的加強版,是一個相對於 Top 命令提供更美觀、更方便的進程監控工具。
項目地址: https://hisham.hm/htop/
更多詳細介紹可參考:「一款比 top 強悍好用的進程管理監控工具」 一文。
Glances 是一個用於監控系統的跨平臺、基於文本模式的命令行工具。它是用 Python 編寫的,使用 psutil 庫從系統獲取信息。你能夠用它來監控 CPU、平均負載、內存、網絡接口、磁盤 I/O,文件系統空間利用率、掛載的設備、全部活動進程以及消耗資源最多的進程。信息比 htop 更加豐富,除了命令行,Glances 還提供頁面服務,可讓你從頁面上隨時查看某服務器的狀態。
lrzsz 軟件包是一個支持 Zmodem 協議的工具包。 其中包含的 rz、sz 命令是經過 ZModem 協議在遠程服務器和終端機器間上傳下載文件的利器。
lrzsz 支持交互式文件傳輸,在多重跳板機下傳輸文件很是好用,不用一級一級傳輸。
更多詳細介紹可參考:「在 iTerm2 中使用 Zmodem 實現快速傳輸文件」 一文。
Ncdu (NCurses Disk Usage) 是一個基於 Ncurses 庫的 du 命令的界面。它經過你們熟知的 du 命令,爲用戶提供一個快速且容易被使用的界面。它能夠顯示磁盤使用的百分比,且容許你使用 ncurses 庫的方式在目錄之間導航。
Tmux 是一個優秀的終端複用工具,功能相似 GNU Screen,但使用 BSD 許可發佈。用戶能夠經過 Tmux 在一個終端內管理多個分離的會話、窗口及面板,對於同時使用多個命令行,或多個任務時很是方便。
MultiTail 是一個開源的 Ncurses 實用程序,可用於在單個窗口或單個 Shell 中將多個日誌文件同時顯示到標準輸出。
ShellCheck 是一款實用的 Shell 腳本靜態檢查工具,能夠幫助你提早發現並修復語法錯誤以及不規範的寫法。
Explainshell 是一個幫助你解釋命令行的網站,它會分析命令的幫助文檔,而後根據你想查詢的命令參數來抽取對應的解釋,而後簡潔易懂地顯示出來。
Asciinema 是一個終端下很是棒的錄屏和回放軟件。Asciinema 對終端輸入輸出進行捕捉,而後以文本的形式來記錄和回放。
基於 Asciinema 用文原本記錄的特性,使其擁有了很是炫酷的特性。你能夠在播放過程當中隨時暫停,而後對播放器中的文本進行復制或者其它操做。
更多詳細介紹可參考:「手把手教你使用終端錄屏神器 Asciinema」 一文。
一個能夠根據 Asciinema 錄製文件生成 SVG 動畫的小工具。
來看一個實例:將經過 Asciinema 在終端錄製的視頻轉換爲 SVG 文件。
# 安裝 svg-term $ npm install -g svg-term-cli # 直接轉換髮布在 Asciinema 網站上的視頻,須要先確認視頻所在連接中的錄製 ID,例如: https://asciinema.org/a/219486 的 ID 就是 219486 $ svg-term --cast=219486 --out ~/home/mike/out.svg --padding 18 --height 8 --width 80 # 若是你不想把錄製文件上傳到 Asciinema 網站上,你也能夠直接使用 svg-term 轉換本地錄製文件 $ asciinema rec cast.json $ cat cast.json | svg-term-cli
Wrk 是輕量級的 HTTP 性能測試工具。相比於 Apache ab 功能更強大,支持 HTTP 1.1,並且能夠用 Lua 寫腳本支持更復雜的測試場景。
HTTPie (讀aych-tee-tee-pie) 是一款開源的命令行 HTTP 工具。HTTPie 採用 Python 開發,底層用到了 Requests 和 Pygments 庫。
HTTPie 設計用來加強 wget 和 curl 的可用性。它的主要目標是使經過命令行與網絡服務器進行交互的過程變得儘量的人性化。其提供了一個簡單的 HTTP 環境來讓咱們經過簡單而天然的語法發送任意 HTTP 請求,並顯示彩色輸出。HTTPie 可用於測試,調試和與 HTTP 服務器進行普通的交互。
項目地址: http://httpie.org/
更多詳細介紹可參考:「如何用 HTTPie 更高效的調試接口」 一文。
HTTP Prompt 是一個交互式的命令行 HTTP 客戶端,支持自動完成、語法高亮,基於 HTTPie 和 prompt_toolkit 構建。HTTP Prompt 相對於其它命令行的 HTTP 客戶端 (如:HTTPie、Curl 等)使用上更加直觀方便。
更多詳細介紹可參考:「Linux 命令行下交互式 HTTP 客戶端--HTTP Prompt」 一文。
TLDR 全稱Too long, Don’t read,翻譯成中文就是太長不讀。它能夠幫助你快速查看命令行工具的使用實例。簡而言之,就是 Man 頁面的精簡版本。
更多詳細介紹可參考:「Linux命令行學習神器tldr」 一文。
Ranger 是一個命令行下的文件管理器。Ranger 使用 Python 編寫,默認爲使用 Vim 風格的按鍵綁定。
Axel 是 Linux 下一個不錯的高速下載工具。支持多線程下載、斷點續傳,且能夠從多個地址或者從一個地址的多個鏈接來下載同一個文件。很是適合網速不給力時多線程下載,以提升下載速度。
Cloc 是一款使用 Perl 語言開發的開源代碼統計工具,支持多平臺使用、多語言識別,可以計算指定目標文件或文件夾中的文件數(files)、空白行數(blank)、註釋行數(comment)和代碼行數(code)。
更多詳細介紹可參考:「代碼統計利器 CLOC」 一文。