少し前に、 ExplainShellについて書きました 、Linuxコマンドの各部分が何をするかを学ぶためのWebベースのツール。複雑で長いLinuxコマンドを複数の部分に分割し、各部分について説明します。このツールを使用すると、Linuxの初心者は、マニュアルページを参照しなくても、さまざまなコマンドラインパラメータとオプションについて学ぶことができます。ただし、Linuxコマンドの学習に役立つだけです。しかし、Pythonなどの他のCLIコマンドを学びたい場合はどうでしょうか。 ExplainShellにはPythonコマンドの説明がありません。心配ない!今日、私は Kmdrという名前の同様のツールに出くわしました これは、何百ものプログラムのCLIコマンドの説明を提供します。ターミナルを離れたり、長いマニュアルページを参照したりすることなく、CLIコマンドを簡単に学習できます。 Linuxコマンドだけでなく、Kmdrは ansibleを含む多くのCLIコマンドの説明を提供します 、コンダ 、ドッカー 、 git 、行く 、 kubectl 、モンゴ 、 mysql 、 npm 、ルビーの宝石 、放浪者 bashに組み込まれているプログラムなどの何百もの他のプログラム 。
Kmdrは、複雑で長いサブコマンドを理解できます。また、配管、リダイレクト、リスト構成、その他のbash-builtinsおよび演算子を含むコマンドも理解します。 Kmdrは、以下にリストされているように、さまざまなプログラム、ツール、およびユーティリティの説明を提供します。
- Bash Shell Builtins(echo、export、cdなど)
- コンテナ(Docker、kubectlなど)
- バージョン管理(Gitなど)
- データベースサーバーとクライアント(例:mysql、mongod)。
- 導入/クラウド(例:現在はクラウド)
- ファイルおよびアーカイブツール(zip、tarなど)。
- メディア(例:ffmpeg、youtube-dl)。
- ネットワーク/通信(netstat、nmap、curlなど)
- パッケージマネージャー(dpkg、pipなど)
- プログラミング言語/ランタイム環境/コンパイラ(例:go、python、node、gcc)
- システム管理者/監視(例:crontab、top)
- テキスト処理(例:awk、sed)
- テキストエディタ(nano、vimなど)
- その他(例:openssl、bash、bash64)。
サポートされているプログラムの完全なリストは、こちらで確認できます。 。開発者は毎日さらにプログラムを追加しています。リストを監視し、時々チェックしてください。
Kmdrは、 Nodejsで記述された無料のオープンソースユーティリティです。 。
KmdrCLIをインストールする
KmdrにはNodejsバージョン8.xが必要です 以上。 LinuxシステムにNodejsをまだインストールしていない場合は、次のリンクを参照してください。
- LinuxにNodeJSをインストールする方法
Nodejsをインストールした後、以下のようにNpmパッケージマネージャーを使用してKmdrCLIをインストールできます。
$ npm install [email protected] --global
Kmdrは、Webブラウザから直接使用することもできます。インストールやサインアップは必要ありません! Webブラウザーを開き、次のリンクに移動してコマンドを入力するだけです。
- http://demo.kmdr.sh/
Kmdrを使用したターミナルでのCLIコマンドの説明の表示
CLIコマンドの説明を取得するのは簡単です!例として次のコマンドを取り上げます。
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
初心者および中級のLinuxユーザーにとって理解するのは少し難しいです。疑問に思っている人のために、上記のコマンドは最もよく使用されるコマンドを表示します Linuxの場合。
上記のコマンドの各部分の説明を知りたい場合は、次のコマンドを使用してKmdrCLIを起動します。
$ kmdr explain
Kmdrは、コマンドの入力を求めるプロンプトを表示します。入力して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を使用してターミナルからCLIコマンドの説明を取得する
上記の出力でわかるように、Kmdrは上記のコマンドの各部分を分解し、各部分の説明を提供します。
説明の最後に、Kmdrはフィードバックを共有するように求めます。 はいを選択できます またはいいえ 矢印を使用してフィードバックを送信します。 [はい]を選択した場合は、フィードバックを入力してEnterキーを押してください。フィードバックを共有したくない場合は、「スキップして終了」を選択してKmdrを終了します。とても簡単です!
Kmdrは複数のコマンドも理解します。
グループ化されたオプションを使用してコマンドの説明を取得することもできます。
$ kmdr explain ? Enter your command: rsync -avz --exclude 'ostechnix' 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. ostechnix An argument dir1/ An argument dir2/ An argument 🤖 Did we help you better understand this command? (Use arrow keys) ❯ Skip & Exit ────────────── Yes No
簡単な例を挙げました。配管、リダイレクト、サブコマンド、演算子など、あらゆる種類の複雑なコマンドを試すことができます。
推奨される読み物:
- Linuxコマンドをその場で検索、調査、実践してください!
- Linuxコマンドをオンラインで無料で学び、練習しましょう!
- コマンドラインゲームをプレイしてBASHスキルをテストする
- マニュアルページを効率的に使用する方法を学ぶ
いくつかのコマンドを試した後、Kmdrに追加のコマンドを入力するオプションがないことに気付きました。 Kmdrを終了してから再度開き、別のコマンドを再度入力する必要がありました。毎回「kmdrexplain」を再実行せずに他のコマンドを追加できるとよいでしょう。この小さな問題は別として、Kmdrは私のUbuntu18.04システムで問題なく動作しました。
更新:
この問題は、最新のKmdrバージョンで修正されています。 kmdr v0.2を使用すると、毎回「kmdrexplain」を再入力しなくてもコマンドを継続的に検索できます。
Kmdr CLIクライアントは非常に新しく、まだ初期段階です。今後、開発者が機能を追加して改善してくれることを願っています。試してみて、下のコメントセクションであなたの考えを共有してください。