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