10

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

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzU3NTgyODQ1Nw%3D%3D&%3Bmid=2247488722&%3Bidx=2&%3Bsn=2a49e2a5c5e6e5117579b2d9f839755f
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Y73aamf.jpg!webfUNnUzm.jpg!web

☞ 程序员进阶架构师必备资源免费送 ☜

大家都知道,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/kmdr-cli#supported-programs)

安装 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

可以看到 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 只要你输入你不懂的命令,直接就给你整明白,难道它不香吗?大家快点去试试吧。

好书推荐

本书使用TensorFlow 2.0作为卷积神经网络实现的基本工具,引导深度学习初学者,从搭建环境开始,逐步深入到理论、代码和应用实践中去。 

本公众号全部博文已整理成一个目录,请在公众号里回复「 m 」获取!

推荐阅读:

一个故事讲完CPU的工作原理

Linux从入门到进阶的学习资料

Linux小课堂之Wait命令

5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「 1024 」,即可免费获取!!

iyAvq26.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK