轉載自【CU技術社群】
原文來自:iCourt技術 ,作者 | 李火清
編者按:說到Linux命令相信大家都不陌生,就連前端現在也要經常在 terminal 敲一些
node,
gulp
等命令,本文詳細介紹了五個相見恨晚,能極大提高工作效率的命令。
tldr(命令手冊)
作為一個開發人員,經常要用到終端命令,最讓人頭疼的是記不住繁瑣的引數。用谷哥度娘檢索效率低下,透過man命令顯示的結果又不易閱讀。
tldr命令正是解決這一痛點。
tldr是什麼?它的GitHub頁翻譯是 “一個簡潔的社群驅動的幫助手冊”,這是對它最好的解釋,根據二八原則給出命令的常用場景示例,簡單易讀,來自五湖四海的朋友都可以向Github上這個命令庫提交內容,它完全是由社群驅動的。
man命令有更詳細的說明,單從實用角度講,tldr才是王者。
小提示:支援在近20種語言環境下執行,透過
tldr --update
更新本地命令庫。
tree(樹形目錄)
當我們編寫專案檔案時,如果想更直觀的表達專案結構及內容,這個小小的命令就可以派上用場了,它以類似於影象的樹狀圖排列目錄和檔案。
小提示:支援定製層級,過濾內容等各種個性化設定。透過
tldr tree
檢視具體使用示例。新增-N
引數解決中文亂碼問題。
rlwrap(歷史命令)
經常使用命令的同學一定有個習慣,透過上下按鍵切換歷史命令,但讓人頭疼的是telnet命令不支援切換,甚至是退格刪除,所以時常遇到如下尷尬場面。莫急,rlwrap便是用來解決這一痛點的。
透過telnet執行Dubbo介面:
透過telnet連線memcached伺服器:
什麼是rlwrap?它是基於readline庫,實現命令列補全和記錄的包裝命令。如今互動式輸入是最基本的需求,Linux正是透過readline這個庫來記錄使用者的操作,實現互動式輸入、自動補全、搜尋等功能。對於沒有支援readline操作的命令,rlwrap就是最好的夥伴了。
用法:在執行telnet命令前加上rlwrap命令即可。
小提示:除了telnet命令不支援Readline需要rlwrap包裝外,Oracle的sqlplus、rman、asmcmd等命令也可以透過rlwrap來獲得上下切換功能。
快捷別名:
alias telnet='rlwrap telnet'
script(記錄會話輸出)
很多時候,為了安全和備份,需要對工作內容進行儲存。那麼,script命令就是隱藏在終端的記錄器,它可以記錄終端會話的所有內容,形成檔案。對於需要工作留痕的同學來說,script便是良藥。
如何使用 ?
用script啟動它,此時它已經開始記錄。完事後用exit退出記錄,預設生成了一個叫“typescript”的檔案。
小提示:
script
可以在什麼場景下使用呢?
1、我需要把大批次影片推送到CDN,耗時一晚上,這時透過script
記錄執行的日誌,第二天對沒有推送成功的做單獨處理。
2、別人遠端你的伺服器或電腦,安全起見script
一下。
3、與同事協同工作時,自己工作做了一半,交給另一個人來做,此時發給他你的script
,讓他接著乾。
……
autojump(一鍵直達)
“最後一個壓軸神器,也是我用的最多的命令之一。”
相信多數終端使用者使用頻率最高的命令是cd、ls,在我不知道切換到哪裡的時候不得不ls確認目錄名,如此反覆,到達想去的目錄可能要經歷幾次甚至十次以上的cd,經歷了多少風雨才找到我的檔案。俗話說“不會偷懶的程式員不是好程式員”,如此飽受挫折哪是我們的風格,於是有了autojump的誕生,它註定不凡。
顧名思義,autojump,自動跳轉,而不是切換,因為它可以做到一鍵直達。
小提示:可以透過
j -s
命令檢視它的資料庫,以及資料庫中的目錄權重。