Linux命令學習神器!命令看不懂直接給你解釋!

大家都知道,Linux 系統有非常多的命令,而且每個命令又有非常多的用法,想要全部記住所有命令的所有用法,恐怕是一件不可能完成的任務。

一般情況下,我們學習一個命令時,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗長的幫助手冊。這兩個都可以實現我們的目標,但有沒有更簡便的方式呢?

答案是必須有的!今天給大家推薦一款有趣而實用學習神器 — kmdr,讓你解鎖 Linux 學習新姿勢。

kmdr 工具最大的亮點就是,如果有一個長串命令你看不懂它的用法及意義,它將直接分??楦閬晗附饈?!這個功能真的是非常實用,因為我們在網上或書上難免會看到各種各樣的命令,如果你看不懂,那將永遠留下疑惑。而這個工具就像老師一樣,按??橐桓齦齦嫠吣忝罡鞲霾糠值撓梅耙庖?,讓你一目了然!

kmdr 收納了非常多的 CLI 命令解釋,例如常見的 ansible, conda, docker, git, go, kubectl, mongo, mysql, npm, ruby gems, vagrant 等等,不僅如此,那些 bash 內置命令 它都能為你解釋,非常給力!

不管你是哪個領域的程序員,kmdr 都能最大限度地為你提供 CLI 命令學習幫助。

  • Bash Shell 命令(如 echo,export,cd)
  • 容器(如 Docker,kubectl)
  • 版本控制(如 Git)
  • 數據庫服務器和客戶端(如 mysql,mongod)
  • 部署/云(如 now cloud)
  • 文件和存檔工具(如 zip,tar)
  • 媒體(如 ffmpeg,youtube-dl)
  • 網絡/通訊(如 netstat,nmap,curl)
  • 包管理器(如 dpkg,pip)
  • 編程語言/運行時環境/編譯器(如 go,python,node,gcc)
  • 系統管理 /監控(如 crontab,top)
  • 文字處理(如 awk,sed)
  • 文本編輯器(如 nano,vim)
  • 其他(如 openssl,bash,bash64)

這個鏈接里可以查看完整的支持列表:https://github.com/ediardo/kmdr-cli#supported-programs)

安裝 Kmdr CLI

kmdr 是用 Nodejs 編寫的免費開源工具,需要 Nodejs 版本 8.x更高版本才能運行,需要大家先準備好運行環境。

安裝好 Nodejs 之后,使用 Npm 軟件包管理器安裝 kmdr

$ npm install [email protected] --global

不想安裝 Nodejs 這么麻煩?沒關系,這里有一個網站可以讓你在 web 瀏覽器直接使用 kmdr ↓↓
//demo.kmdr.sh/

使用 Kmdr 在終端中顯示 CLI 命令說明

下面我們通過一條復雜點的命令作為例子,來看看 kmdr 究竟有多強!

$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5

首先,運行下面的命令,讓 kmdr 進入解釋狀態:

$ kmdr explain

接著,輸入我們上面的示例命令,然后按 ENTER 鍵:

? Enter your command: history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5

history
With no options, display the command history list with line numbers.
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
awk
pattern scanning and processing language
{print $2}
An argument
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
sort
Sort lines of text files
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
uniq
Report or omit repeated lines
-c, --count
Prefix lines by the number of occurrences
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
sort
Sort lines of text files
-n, --numeric-sort
Compare according to string numerical value
-r, --reverse
Reverse the result of comparisons
|
A pipe serves the sdout of the previous command as input (stdin) to the next one
head
Output the first part of files
-5
An argument

?? Did we help you better understand this command? (Use arrow keys)
? Skip & Exit 
──────────────
Yes 
No

可以看到 kmdr 這個命令的強大之處,它將那條復雜命令中每個部分的解釋都給你列出來了,讓你一目了然,一看就懂!

如果一個長串復雜命令里面包含了多個子命令,kmdr 也可以一個個為你解釋。

還可以解釋具有分組選項的命令。

$ kmdr explain
? Enter your command: rsync -avz --exclude 'liangxu' dir1/ dir2/

rsync
A fast, versatile, remote (and local) file-copying tool
-a, --archive
This is equivalent to -rlptgoD.
-v, --verbose
This option increases the amount of information you are given during the transfer.
-z, --compress
With this option, rsync compresses the file data as it is sent to the destination machine,which reduces the amount of data being transmitted -- something that is useful over a slow connection.
--exclude
This option is a simplified form of the --filter option that defaults to an exclude rule anddoes not allow the full rule-parsing syntax of normal filter rules.
liangxu
An argument
dir1/
An argument
dir2/
An argument

?? Did we help you better understand this command? (Use arrow keys)
? Skip & Exit 
──────────────
Yes 
No

總結

個人認為,查看 CLI 命令的幫助文檔,一來其內容多而長,二來仔細去找會浪費時間和精力。而 kmdr 只要你輸入你不懂的命令,直接就給你整明白,難道它不香嗎?大家快點去試試吧。
-----------------

我是良許,世界500強外企 Linux 開發工程師,專業生產 Linux 干貨?;隊刈⑽業墓諍擰?strong>良許Linux」,里面分享了 Linux入門、基礎、進階 等系列教程,同時也有 Git、Vim、開源項目 等技術干貨。公眾號后臺回復「1024」獲取最新最全的技術資料,回復「入群」進入高手如云技術交流群。

posted on 2020-03-03 13:36  良許Linux  閱讀(...)  評論(...編輯  收藏

統計