好玩、有趣的 Linux 命令学习神器 kmdr!

大家好,我是你们的民工哥。

所有学习Linux系统的初学者都知道,入门时除了简单的系统知识需要了解之外,其次,最重要的就是学习与理解Linux命令的用法与其应用场景。

所以,大家也会遇到这样的情况,不太懂的命令用法,我们会去查找资料。据不完全统计,Linux系统常见的命令约600 个,一时间想全部掌握太难了,特别对于一个初学者来说,更是难上加难。

我在公众号的后台、技术交流群,经常看到很多人都会遇到这种苦恼,命令长时间不练,不敲,很快就会全部忘记,等到应用时,再去查看帮助,又有点模糊不清,找不准其使用方法与参数的应用。

特别是需要多个命令去配合完成一个工作的时候,更难下手去写,有时候,就算群里有人给出了相关的答案,他还是一时很难理解其中的含义是什么?为什么是这样配合使用的?为什么需要使用这个参数?一连串的问题接踵而至,但你这样一问,难免让回复你的人望而却步!

如果,这个时候有一个命令解释器的工具存在,那将是多么的完美!

那么,今天,民工哥给大家安利一款实用、好玩的命令学习神器:kmdr。

传送门:https://github.com/ediardo/kmdr-cli

kmdr 的强大之处在于

  • 如果您在使用Linux终端命令时遇到困难,Kmdr可以帮助您解密它们。这是一个有用的工具,特别是对于初学者Linux用户。

  • 它可以帮助您轻松学习CLI命令,而无需离开终端,也无需浏览冗长的手册页。Kmdr不仅提供Linux命令,还提供了许多CLI命令的解释

支持列表如下

查看完整的支持列表:

https://github.com/ediardo/kmdr-cli#supported-programs)

安装 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,再难懂的命令都可以通过它解释给你,哪里不懂,看哪里,妈妈再也不用担心我们再看不懂命令了!

参考资料

来源:https://www.icode9.com/content-3-897651.html

(0)

相关推荐

  • 手写cli

    惠善一的博客:http://huishanyi.club/ 通过命令行工具,初始化团队项目,并生成团队规范代码,一键创建项目,一键生成代码,一键生成功能模块··· 解放双手,从 cli 开始, JSe ...

  • 手把手带你入门前端工程化——超详细教程

    本文将分成以下 7 个小节: 技术选型 统一规范 测试 部署 监控 性能优化 重构 部分小节提供了非常详细的实战教程,让大家动手实践. 另外我还写了一个前端工程化 demo 放在github上.这个 ...

  • Git【入门】这一篇就够了

    Git 在生产工作中是使用频率很高的工具,但我发现很多文章只是对它做了简单的提交命令说明,真正遇到 版本冲突或文件丢失 等问题又定位不到原因,浪费大量时间.本篇文章较长,但都是在实际项目中用到的点. ...

  • 关于macOS自定义终端命令的方法

    在开发时,有时候一些命令比较长,比较难记,为了快速开发,需要自定义一些终端命令,实现快速操作!以下就是小编带的macOS自定义终端的方法,感兴趣的小伙伴们欢迎参考! git提交 // 自定义前 git ...

  • 良心推荐!这10个好玩有趣的神仙网站, 简直是学习工作必备神器

    大家好,这里是秋叶PPT! 自从我发现各位小伙伴非常青睐网站类的推荐后,我就疯狂发掘同类内容. 1:美丽化学 -- 如果早点看到,可能我会爱上化学! http://www.envisioningche ...

  • Linux命令route显示或管理路由表-linux运维学习

    route命令可以显示或管理Linux系统的路由表,route命令设置的路由主要是静态路由.掌握Linux命令对于Linux运维来说是必备技能,对于Linux运维工作起着重要的作用.那么route命令 ...

  • ip命令网络配置工具参数选项有什么?linux数据库学习

    ip命令是iproute软件包中的一个强大的网络配置工具,用于显示或管理Linux系统的路由.网络设备.策略路由和隧道.ip命令是Linux运维工作中常会用到的命令,命令的熟练掌握对于Linux运维工 ...

  • nslookup命令参数选项有哪些?Linux运维核心命令学习

    nslookup命令是常用的域名解析查询工具.nslookup域名查询工具是Linux运维工作人员常用命令之一.近几年学习Linux技能的人们越来越多,Linux命令成了很多人必备学习技能.那么Lin ...

  • 监听网络流量命令tcpdump学习知识?Linux命令

    tcpdump命令是一个截获网络数据包的包分析工具.tcpdump可以将网络中传送的数据包的"头"完全截获下来以提供分析.它支持针对网络层.协议.主机.端口等的过滤,并支持与.或. ...

  • tar命令打包技巧有什么?linux命令入门学习

    在Linux系统里,tar是将多个文件打包在一起起,并且可以实现解压打包的文件的命令.tar命令是系统管理员常用的命令之一,tar命令不仅可以实现对多个文件进行打包,还可以对多个文件打包后进行压缩.那 ...

  • Linux命令行作用和意义是什么?学习笔记

    众所周知,Linux是一个以命令行管理为主的操作系统,即通过键盘输入指令管理系统的相关操作,包括但不限于编辑文件.启动停止服务等.那么Linux命令行有什么作用?Linux命令行的意义是什么? 使用鼠 ...

  • Linux 命令神器:lsof

    lsof是系统管理/安全的尤伯工具.将这个工具称之为lsof真实名副其实,因为它是指"列出打开文件(lists openfiles)".而有一点要切记,在Unix中一切(包括网络套 ...

  • linux常用命令——学习记录

    touch创建文件 touch 1.txt 2.txt mkdir创建文件夹 mkdir A/B/C/D -p clear清空屏幕 查看命令解释 man ls 重定向 > 代表删除后重新写入 & ...