大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。
一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢?
答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势。
kmdr 工具最大的亮点就是,如果有一个长串命令你看不懂它的用法及意义,它将直接分模块给你详细解释!这个功能真的是非常实用,因为我们在网上或书上难免会看到各种各样的命令,如果你看不懂,那将永远留下疑惑。而这个工具就像老师一样,按模块一个个告诉你命令各个部分的用法及意义,让你一目了然!
kmdr 收纳了非常多的 CLI 命令解释,例如常见的 ansible, conda, docker, git, go, kubectl, mongo, mysql, npm, ruby gems, vagrant 等等,不仅如此,那些 bash 内置命令 它都能为你解释,非常给力!
不管你是哪个领域的程序员,kmdr 都能最大限度地为你提供 CLI 命令学习帮助。
这个链接里可以查看完整的支持列表:https://github.com/ediardo/kmdr-cli#supported-programs)
安装 Kmdr CLI
kmdr 是用 Nodejs 编写的免费开源工具,需要 Nodejs 版本 8.x 或更高版本才能运行,需要大家先准备好运行环境。
安装好 Nodejs 之后,使用 Npm 软件包管理器安装 kmdr:
- $ npm install kmdr@latest --global
不想安装 Nodejs 这么麻烦?没关系,这里有一个网站可以让你在 web 浏览器直接使用 kmdr ↓↓
使用 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 只要你输入你不懂的命令,直接就给你整明白,难道它不香吗?大家快点去试试吧。
mysql提供的模式匹配的其他类型是使用扩展正则表达式。 当你对这类模式进行匹配...
官网连接 https://docs.rt-thread.org/#/rt-thread-version/rt-thread-standard/...
PHP+Mysql简单实现了图书购物车 本文主要讲述如何通过PHP+HTML简单实现图书购物...
步骤: 1、新建一个空文件,文件名为hhhh 2、初始化 git init 3、自己要与origin...
1.小程序端代码示例 my.getPhoneNumber({ success: (res) = { let encryptedData...
有许多命令行选手在linux下开发的时候会经常遇到一个问题,无论是svn还是git,提...
vscode怎么浏览器打开html预览?这里大家可以通过安装open in browser插件解决。...
1. 始终在 `v-for` 中使用 `:key` 在需要操纵数据时,将key属性与v-for指令一起...
图片来自 Pexels 突然电话响了起来,一看是我们的一个开发同学,顿时紧张了起来...
Java HashMap removeNode 方法 分析 源码分析仓库 https://github.com/HANXU2018...