本號整理了在Linux操作系統可以極大提高工作效率的命令行工具。這些工具也是本號作者在生產中經常使用的。是否有效,您一試便知。

axel 多線程下載工具

我們下載文件經常使用wget和curl等,但在Linux有個下載神器,它可以多線程並發下載,極大的提高了下載速度。可以用下面鏈接試一下,看看到底有多快!

axel -n 20 mirrors.163.com/ubuntu-

圖1 多線程下載工具

shellcheck shell腳本靜態檢查工具

shell腳本是不需要編譯的,在運行的時候才會檢查並報錯。經常不寫shell的同學,偶爾寫一個shell腳本可能會漏洞百出,很是煩惱。這下好了,通過shellcheck能夠很方便的識別語法錯誤以及不規範的寫法,能夠極大的幫助提前識別問題,提高工作效率。

find your_project_folder -name "*.sh" | xargs -i shellcheck {}

ag 高效文本搜索工具

ag是一個比grep和ack等更快的遞歸搜索文件文件內容的工具,其最大的特點就是快速,高效,並且可以很方便的跟vim進行集成。具體使用方法請參考幫助文檔,這裡給個示例。

ag HelloWorld path/to/search

在redhat 7 下的安裝步驟方法。

rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install the_silver_searcher

htop 高級版的top工具

htop 是Linux系統中的一個互動的進程查看器。它提供了更美觀、更方便的進程監控功能,可以替代top命令。

tig:字元模式下交互查看git項目

Git 和 tig 的關係有點像 top 和 htop, 是一種命令行互動式操作工具 tig 的所有功能都是 Git 命令行已經具備的, tig 提供了一種直觀, 方便快捷的 Git 操作。其最大的特點在於可交互性,如圖是一個基本的演示圖,具體使用可以安裝試一下,在Ubuntu下可以很方便的安裝。

sudo apt-get install tig

mycli mysql客戶端

該命令是對原生mysql客戶端的增強,可以支持語法高亮和命令補全等。其效果類似python中的ipython。該工具可以代替原生mysql客戶端,可以提高資料庫操作的效率。

jq Json字元串格式化工具

本工具用於json文件處理以及格式化顯示,支持高亮,可以替換python -m json.tool。

thefuck 命令行錯誤修改工具

我們在使用命令行的時候,偶爾會敲錯命令。這個工具就是來幫助修正錯誤命令的。當我們在命令行打錯了以後,打一句fuck就會自動更正命令。比如apt-get打成了aptget。fuck以後自動變成apt-get。但還是沒加sudo。再fuck,成功!

再比如,我們想在終端輸入python,卻寫成了puthon。此時輸入fuck!一秒變python。

sz/rz 互動式文件傳輸

這兩個命令用於實現Linux環境下與遠程主機傳送文件,其中sz將選定的文件發送(send)到本地機器, rz用於從本地選擇文件上傳到伺服器(receive),最為奇特的是運行該命令會彈出一個文件選擇窗口,並且可以在多重跳板機下傳輸文件,不用一級一級傳輸,可以極大的提高操作效率。

fzf 模糊搜索工具

能夠互動式智能搜索並選取文件或者內容,配合終端ctrl-r歷史命令搜索簡直完美。

PathPicker(fpp)

在命令行輸出中自動識別目錄和文件,支持互動式,配合git非常有用。運行以下命令:

git diff HEAD~8 --stat | fpp

cloc:代碼統計工具

cloc是一個能夠統計代碼的空行數、注釋行、編程語言等內容的代碼統計工具,它的功能比wc要強大的多。

tmux 終端復用工具

Tmux是一個優秀的終端復用軟體,類似GNU Screen,但來自於OpenBSD,採用BSD授權。使用它最直觀的好處就是,通過一個終端登錄遠程主機並運行tmux後,在其中可以開啟多個控制檯而無需再「浪費」多餘的終端來連接這臺遠程主機。有了這個工具,就可以永遠不再使用screen和nohup了。

script/scriptreplay 終端會話錄製和回放

script 是一個非常神奇命令,可以使用script工具記錄用戶在當前終端的所有的操作,已經輸出到屏幕的內容。將這些信息保存到指定的文本文件中。

通過執行如下命令就開始命令錄製了,默認記錄在當前目錄的typescript文件中,當然也可以指定文件。

root@test:/# script
Script started, file is typescript
root@test:/#

執行如下命令退出記錄。

root@test:/# exit
exit

scriptreplay命令用於回放script錄製的內容。

you-get 非常強大的媒體下載工具

you-get是一個基於python的下載工具,可以支持youtube、google+、優酷、芒果TV、騰訊視頻、秒拍等視頻網站下載視頻。


推薦閱讀:
相關文章