Linux命令学习神器!命令看不懂直接给你解释!

柯里星轨
• 阅读 1813

大家都知道,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/km...

安装 Kmdr CLI

kmdr 是用 Nodejs 编写的免费开源工具,需要 Nodejs 版本 8.x更高版本才能运行,需要大家先准备好运行环境。

安装好 Nodejs 之后,使用 Npm 软件包管理器安装 kmdr

$ npm install kmdr@latest --global

不想安装 Nodejs 这么麻烦?没关系,这里有一个网站可以让你在 web 浏览器直接使用 kmdr ↓↓
http://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

Linux命令学习神器!命令看不懂直接给你解释!

可以看到 kmdr 这个命令的强大之处,它将那条复杂命令中每个部分的解释都给你列出来了,让你一目了然,一看就懂!

如果一个长串复杂命令里面包含了多个子命令,kmdr 也可以一个个为你解释。

Linux命令学习神器!命令看不懂直接给你解释!

还可以解释具有分组选项的命令。

$ 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 干货。欢迎关注我的公众号「良许Linux」,里面分享了 Linux入门、基础、进阶 等系列教程,同时也有 Git、Vim、开源项目 等技术干货。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
4年前
Linux最常用150个命令汇总
Linux最常用150个命令汇总命令功能说明线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮助,比如cd命令。文件和目录操作命令(18个)ls全拼list,功能是列出目录的内容及其内容属性信息。cd全拼
Stella981 Stella981
4年前
Linux企业运维人员最常用150个命令汇总 [转]
近来发现新手学习Linux记不住命令,不会分类、不会筛选重点,胡子眉毛一把抓当然记不住了。特别整理Linux运维最常用150个命令和大家分享,大家学习命令不用在盲目了,根据分类,然后逐步学习!命令功能说明线上查询及帮助命令(2个)man查看命令帮助,命令的词典,更复杂的还有info,但不常用。help查看Linux内置命令的帮
Stella981 Stella981
4年前
Linux下crontab命令的用法
crond是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存2、个人执行的工作:某个用户定期要做的工作,例
Wesley13 Wesley13
4年前
MySQL定时备份数据库
一、MySQL数据备份1.1、mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:MySQLdump常用m
Wesley13 Wesley13
4年前
Ubuntu Server Aptitude 命令
相对于aptget来说,aptitude是一个带文本图形界面的高级接口,操作起来比较方便。如果不带任何子命令或参数,直接输入aptitude命令后按回车键,则会出现它的界面:Aptitude命令行上的用法,aptitude的用法和aptget有些类似。比如:更新:$ sudo aptitude update升
Wesley13 Wesley13
4年前
Java 程序员必须掌握的 Linux 命令
  作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。  本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用–help查看帮助或者直接通过goog
掌握了这几个 Linux 命令可以让你工作效率提升三倍
很多程序员熟悉了在Windows环境下开发,而我们服务器一般都是Linux系统。当有一天你需要在Linux服务器上做一些配置或者故障排除的时候,你会很困惑,不知道如何下手。原因是对Linux常用的命令还不熟悉,今天我就给大家介绍几个Linux常用命令。掌握它们的用法后,我们在使用CRMEB打通版系统的时候就能如鱼得水,可以大大提高工作
胖大海 胖大海
3年前
Docker 容器使用
Docker客户端使用Linux最好还是整个服务器,买太贵了,建议租一个,我用的是3A服务器,大家一起来学习吧!docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到Docker客户端的所有命令选项。doc
九路 九路
1年前
linux nohup命令使用教程
nohup的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和&命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。平时我们直接执行命令,只是在终端中运行,如果关闭了终端,我们的命令也就结束了。尤其是服务,需
小万哥 小万哥
1年前
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
Git帮助如果你忘记了命令或命令的选项,你可以使用Git帮助。在命令行中,有几种不同的使用帮助命令的方式:gitcommandhelp查看特定命令的所有可用选项githelpall查看所有可能的命令让我们看看不同的命令。Githelp查看特定命令的选项任何
位流程风 位流程风
4个月前
Linux 重启命令全解析:深入理解与应用指南
在Linux系统中,掌握正确的重启命令是确保系统稳定运行和进行必要维护的关键技能。本文将深入解析Linux中常见的重启命令,包括功能、用法、适用场景及注意事项。一、reboot命令功能简介reboot是最常用的重启命令之一。它以优雅的方式关闭所有运行的进程