好玩、有趣的 Linux 命令学习神器 kmdr!
大家好,我是你们的民工哥。
所有学习Linux系统的初学者都知道,入门时除了简单的系统知识需要了解之外,其次,最重要的就是学习与理解Linux命令的用法与其应用场景。
所以,大家也会遇到这样的情况,不太懂的命令用法,我们会去查找资料。据不完全统计,Linux系统常见的命令约600+个,一时间想全部掌握太难了,特别对于一个初学者来说,更是难上加难。
我在公众号的后台、技术交流群,经常看到很多人都会遇到这种苦恼,命令长时间不练,不敲,很快就会全部忘记,等到应用时,再去查看帮助,又有点模糊不清,找不准其使用方法与参数的应用。
特别是需要多个命令去配合完成一个工作的时候,更难下手去写,有时候,就算群里有人给出了相关的答案,他还是一时很难理解其中的含义是什么?为什么是这样配合使用的?为什么需要使用这个参数?一连串的问题接踵而至,但你这样一问,难免让回复你的人望而却步!
如果,这个时候有一个命令解释器的工具存在,那将是多么的完美!
那么,今天,民工哥给大家安利一款实用、好玩的命令学习神器:kmdr。
传送门:https://github.com/ediardo/km...
kmdr 的强大之处在于
- 如果您在使用Linux终端命令时遇到困难,Kmdr可以帮助您解密它们。这是一个有用的工具,特别是对于初学者Linux用户。
- 它可以帮助您轻松学习CLI命令,而无需离开终端,也无需浏览冗长的手册页。Kmdr不仅提供Linux命令,还提供了许多CLI命令的解释
支持列表如下

查看完整的支持列表:
https://github.com/ediardo/km...
安装 Kmdr CLI
===========
kmdr 是用 Nodejs 开发出来免费、开源的工具,所以,对于安装环境要求如下:
- Node.js v8.x及更高版本
- 包管理器,例如npm或yarn
使用npm包安装kmdr的命令如下:
$ npm install kmdr@latest --global
如果不想安装的话,也可以直接使用在线的kmdr,web地址如下:http://demo.kmdr.sh/
macOS安装命令
brew install kommandr / tap / kmdr
检查安装情况
==========
运行命令kmdr以检查它是否已正确安装在系统上。
$ kmdr Usage: kmdr [options] [command] The ultimate CLI learning tool for explaining commands from your terminal kmdr provides command explanations for hundreds of programs including git,docker, kubectl, npm, go and more straight forward programs such as bash builtins. Options:
-v, --version output the version number
-h, --help output usage information Commands:
explain|e [options] Explain a shell command
upgrade|u Check for new releases
feedback|f Send feedback :)
kmdr还可以通过容器的方式来运行
具体的步骤如下:
1、构建镜像
docker build -t kmdr-cli
2、运行容器
docker run -it --rm kmdr-cli
使用 Kmdr 在终端中显示 CLI 命令说明
下面我们通过一条复杂点的命令作为例子,来看看 kmdr 究竟有多强!
git commit -am "Initial commit"
首先,运行下面的命令,让 kmdr 进入解释状态:
$ kmdr explain
? Enter your command: git commit -am "Initial commit" git commit -am "Initial commit" EXPLANATION
git The stupid content tracker
commit Record changes to the repository
-a, --all Tell the command to automatically stage files that have been modified and deleted
-m, --message Initial commit Use the given <msg> as the commit message EXAMPLES
git reset HEAD~1
Undo the most recent commit, keeping its changes in the filesystem git commit -m "Initial commit"
Commit staged files to the repository with message "Initial commit" git log -n 3 --oneline
Show only the first line of the last three commit messages RELATED PROGRAMS hg, lsof, systemctl, aria2c, dmesg, make
从上面的结果可以看出,kmdr的强大之处就在于它会把一个复杂的命令拆分开来,一个个给你解释出来 ,连参数的含义都解释的很清楚,让你一眼就能看出其中的意思。
通过这个强大的神器kmdr,再难懂的命令都可以通过它解释给你,哪里不懂,看哪里,妈妈再也不用担心我们再看不懂命令了!
参考资料
The ultimate CLI learning tool
最新整理的2TB技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。在「 民工哥技术之路」微信公众号对话框回复关键字:1024即可获取全部资料。
好玩、有趣的 Linux 命令学习神器 kmdr!的更多相关文章
- Linux命令学习神器!命令看不懂直接给你解释!
大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务. 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么 ...
- 别出心裁的Linux命令学习法
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...
- Linux命令学习
Linux命令学习 Ubuntu常用快捷键 •Ctrl+Alt+T: 打开终端 •Ctrl+Shift+T: 新建标签页 •Tab: 终端中命令补全 •Alt+数字N: 终端中切换到第N个标签页 •↑ ...
- Linux命令学习总结之rmdir命令的相关资料可以参考下
这篇文章主要介绍了Linux命令学习总结之rmdir命令的相关资料,需要的朋友可以参考下(http://www.nanke0834.com) 命令简介: rmdir命令用用来删除空目录,如果目录非空, ...
- 分享几个有趣的Linux命令
前言 最近工作比较忙,没时间写博客,这次介绍几个有趣的Linux命令. 命令:sl 当你使用这个命令时会看到一辆小火车从你的屏幕经过.亲测! 安装命令如下: yum -y install sl 执行效 ...
- 10个非常有趣的Linux命令【转载】
Linux当中有很多比较有趣的命令,可以动手看看,很简单的. 1.rev命令 一行接一行地颠倒所输入的字符串. 运行: $rev 如输入:shiyanlou shiyanlou rev.jpg 2.a ...
- linux命令学习之:chmod
chmod命令用来变更文件或目录的权限.在Linux系统家族里,文件或目录权限的控制分别以读取R.写入W.执行X3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录 ...
- [转载]几个有趣的Linux命令
本文给大家介绍几个有趣的Linux命令. 1. pv 命令 有时候我们在电影屏幕上看到一些字幕一个个匀速显示出来,像有人在边敲键盘,边显示一样.Linux上的pv命令可以实现这种效果. 默认情况下 ...
- Linux命令学习笔记1
1.Linux命令学习 2.Mkdir /data -创建文件夹 在/下创建文件夹 data 3.Cd -目录切换 列如cd / 4.Touch /data/1 ...
- 《Linux命令学习手册》系列分享专栏
<Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...
随机推荐
- Vue Vuex状态管理
1.1 理解 Vuex 1.1.1 Vuex 是什么 概念:专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 Vue 应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组 ...
- Springboot项目使用Undertow替换内置Tomcat服务器,实现RESTFUL接口web应用
Maven实例:pom.xml文件中添加更换依赖 <dependency> <groupId>org.springframework.boot</groupId> ...
- 不能显式拦截ajax请求的302响应?
记录工作中早该加深印象的一个小case: ajax请求不能显式拦截 302响应. 我们先来看一个常规的登录case: 浏览器请求资源,服务器发现该请求未携带相关凭据(cookie或者token) 服务 ...
- div 让a内容居中方法
<div>标签是HTML中的一个重要标签,它代表了一个文档中的一个分割区块或一个部分.在<div>标签中,我们可以放置各种内容,包括文本.图像.链接等等.有时候,我们需要将其中 ...
- CentOS yum配置
一.yum 安装 CentOS 默认已经安装了yum,不需要另外安装,这里为了实验目的,先将yum 卸载再重新安装. 1.查看系统默认安装的yum # rpm -qa|grep yum 2.卸载yum ...
- 前端CodeReivew实践
把Code Review变成一种开发文化而不仅仅是一种制度 把Code Review 作为开发流程的必选项后,不代表Code Review这件事就可以执行的很好,因为Code Review 的执行,很 ...
- Go 常用标准库之 fmt 介绍与基本使用
Go 常用标准库之 fmt 介绍与基本使用 目录 Go 常用标准库之 fmt 介绍与基本使用 一.介绍 二.向外输出 2.1 Print 系列 2.2 Fprint 系列 2.3 Sprint 系列 ...
- dfs 序 O(nlogn)-O(1) 求 LCA
学点分树,发现不会询问复杂度 \(O(1)\) 的 LCA.于是被迫递归式学习. 我们设 \(dfn_i\) 表示点 \(i\) 在 dfs 过程中第几个被访问到,把点按访问到的顺序排序得到的序列叫 ...
- 线性dp数字三角形
数字三角形是最裸的题目,没有加入任何的背景,这里就不写了. 下面这道摘花生的题目就是数字三角形的应用 Hello Kitty想摘点花生送给她喜欢的米老鼠. 她来到一片有网格状道路的矩形花生地(如下图) ...
- IPv4:根据CIDR显示地址范围
最近遇到一个很有意思的点,于是就记录下来. CIDR一般是由IP地址和子网掩码组成,即 IP地址/子网掩码 格式. 子网掩码表示前面地址中的前多少位,为网络位,后面部分代表主机部分.例如:192.16 ...