你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

给大家推荐一款学习神器 — kmdr,让你解锁 Linux 学习新姿势

[复制链接]
gaosmile 发布时间:2020-3-6 14:28
大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。
0 A% e, g' w0 c
4 h( i% {7 ?6 y. Y0 _/ ^1 R

( F. r5 q7 L$ u- @" z5 V一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢?2 [* I  n5 _: V) ], F, _
1 _  w1 ~2 ]. @! L+ ~7 z+ K( t
# U5 C. X6 u& L- Q% w: K) @  Y
答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势。
2 ^5 q" r+ v, V* b' {( t# Q' J# \  X! [
5 j( t) a8 r6 [) R* q
kmdr 工具最大的亮点就是,如果有一个长串命令你看不懂它的用法及意义,它将直接分模块给你详细解释!这个功能真的是非常实用,因为我们在网上或书上难免会看到各种各样的命令,如果你看不懂,那将永远留下疑惑。而这个工具就像老师一样,按模块一个个告诉你命令各个部分的用法及意义,让你一目了然!
/ E- z) L& ]* @$ t! H: {3 ]9 q' s4 [4 ?% ]/ y/ b) V) ?

8 q- w; N& s5 Y9 Z* V1 E* `kmdr 收纳了非常多的 CLI 命令解释,例如常见的 ansible, conda, docker, git, go, kubectl, mongo, mysql, npm, ruby gems, vagrant 等等,不仅如此,那些 bash 内置命令 它都能为你解释,非常给力!
+ b- D( k- o# e- \# q
; X4 T: \* Y; x/ ?: m$ Z( Q3 Y3 q

8 u2 T3 Y2 H" J& e不管你是哪个领域的程序员,kmdr 都能最大限度地为你提供 CLI 命令学习帮助。4 H" y8 b8 ]& l9 X0 g
7 ]% `0 p4 I# T' g0 R* E

- c' N1 g4 F8 r% m* z( |$ SBash Shell 命令(如 echo,export,cd)
# j( d: Y$ l+ I$ I5 J$ ~容器(如 Docker,kubectl)
9 ?0 d! b% \! R% b+ u版本控制(如 Git)
: i  o- A- g. w; m: c# D数据库服务器和客户端(如 mysql,mongod)
! m( [$ T! |5 `2 f部署/云(如 now cloud)
& j5 n2 ~% w- `! k文件和存档工具(如 zip,tar)
. Y  b9 y+ z3 v, R8 b媒体(如 ffmpeg,youtube-dl), r4 T5 M  e% C$ c
网络/通讯(如 netstat,nmap,curl)5 R3 Z, p6 C- D( B3 L
包管理器(如 dpkg,pip)
) a4 c6 y5 k7 s7 v编程语言/运行时环境/编译器(如 go,python,node,gcc)
2 U" D3 z6 n" `) G, }* h4 M系统管理 /监控(如 crontab,top)" b9 {' Q& x3 v0 g
文字处理(如 awk,sed)6 a4 W/ p. v( f
文本编辑器(如 nano,vim)
* T! b, P# k0 s4 P, i& S, N- Q其他(如 openssl,bash,bash64)
7 O1 I& Q- s8 y这个链接里可以查看完整的支持列表:http://github.com/ediardo/kmdr-cli#supported-programs)
% F' x+ B. d* k  g& p. Z0 y) @* ^- _! e5 d' n

, u2 p" k% u% N9 c" n4 e
- S$ b  v$ z* N+ [* D' E

- s- X/ G' F5 Y* v2 j9 J0 L" ]5 |( {2 y5 K0 U) s

$ T! `5 @& z) q4 F. X: A安装 Kmdr CLI/ r! g+ y! b! j# q( _! B! |
1 p; V( ?; |' s6 M' s
3 }# h; X: K3 G. H! S2 `
7 `2 K3 P* ?# x1 z- k

+ }5 n+ k+ I7 L  p5 T* r: Z" G* g2 `; c- ?' W2 q- y7 I: A' Z

+ T7 x4 D9 U" E$ Z, n4 ekmdr 是用 Nodejs 编写的免费开源工具,需要 Nodejs 版本 8.x 或更高版本才能运行,需要大家先准备好运行环境。
0 o" M9 ~' q! E2 D- N9 x# K; T( }( J+ l
+ B0 e1 Y2 k0 ?9 I: ?. }
安装好 Nodejs 之后,使用 Npm 软件包管理器安装  kmdr:- _" s5 ^( Y$ W3 a" ?
1 P( O" e9 j3 t5 N

' J8 B: t2 E6 L" D$ k  F$ npm install kmdr@latest --global
  o# e8 S4 @2 |" [- k不想安装 Nodejs 这么麻烦?没关系,这里有一个网站可以让你在 web 浏览器直接使用 kmdr ↓↓  9 G* E) s; m+ g1 B& c
http://demo.kmdr.sh/4 C: u; m$ R; X$ l4 e. x

  y5 A: w6 l% U  r7 }
- L7 v2 L& Z' R

8 T1 D8 {4 x5 S6 ^% X( A
8 q1 B% d* z) m9 a/ E
" @. s% y8 S# E- b

+ d: v' [  ?2 h& t4 G使用 Kmdr 在终端中显示 CLI 命令说明6 [2 x- ~. r4 y. `3 h' `; }
  b' K) n5 k# R. p$ p9 a$ f5 F

% z& x0 g$ j) u- `1 W+ C! O; k' R& w9 \0 Q6 e
# S& V# |" U! ]* [  Y* J

) Q% G8 d% r3 T3 p3 p

  Y6 y  x) p6 r; }; J下面我们通过一条复杂点的命令作为例子,来看看 kmdr 究竟有多强!
" b3 o& d0 y. V4 d- g4 k) v' g5 ~
" [6 c1 ]6 F4 x8 K

# M) z. Z4 D8 T6 o* ?6 m$ [$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5- F- Y+ G' @/ S2 |
首先,运行下面的命令,让 kmdr 进入解释状态:
* `4 w# ?2 x4 F/ u- k, W7 s) f! c; W
* ]9 P3 p! Y" y0 r7 \* a

; a5 U$ U( p  s3 B$ kmdr explain; o; I2 N7 j% A$ ?# v9 ~3 t0 G
接着,输入我们上面的示例命令,然后按 ENTER 键:
! e* H, T7 E9 U! b+ z& S2 V. c8 [* B# o& J" ?+ w# f
3 r+ Y# F) l/ o
? Enter your command: history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
& x3 }% j" J6 ]( X; P& I; u4 o& |+ p2 I; J* H  x; ?, k# f  F. ?4 b

3 i( q% m2 Q% S- Y! shistory
; m" m: @* N* @7 Q, n' _With no options, display the command history list with line numbers.
/ ^. L' d- E( _6 m" I0 h5 C8 m7 @) P|  Y- ]0 R# l  I1 G6 k) U
A pipe serves the sdout of the previous command as input (stdin) to the next one- @( V7 j* [0 t% ?# ^) r2 Q
awk: J" M3 f7 s5 ?( O. ^$ \2 b6 G
pattern scanning and processing language- S  ?: c. H5 t1 M, V$ m8 G  C% D
{print $2}
5 e2 j; ?! P; N8 J$ I! GAn argument
8 p( m7 P5 w, q/ o|
; d1 Y( m% x8 j. I0 lA pipe serves the sdout of the previous command as input (stdin) to the next one
7 d% d, k, }- m9 _8 S2 I3 q0 M7 ^& Ysort
6 V! j) [& a; [Sort lines of text files# m3 D! P2 D) c4 }& t2 Y# C
|. {! ?/ P$ a5 k1 v0 z- O
A pipe serves the sdout of the previous command as input (stdin) to the next one
& [$ D+ J7 m* w9 c0 ^/ l0 Y# i. Duniq7 k8 X3 p' V- A* v) x% U
Report or omit repeated lines. F8 v0 @% r# F7 o; q6 {
-c, --count; Q4 K( J8 j% [7 ~1 \9 F! c
Prefix lines by the number of occurrences
$ N& P- H# ]* h2 I% P" j+ {|
- X& H6 {3 F8 L' e/ W# t) q: VA pipe serves the sdout of the previous command as input (stdin) to the next one" v; h+ D5 c) m  f9 U+ G4 P3 o7 n
sort5 |% A% y% R0 T' [" y
Sort lines of text files
0 T3 Z- D  S2 c, Q0 C-n, --numeric-sort' R& `" E0 }- w4 r# ~/ I
Compare according to string numerical value0 L7 J. y6 u0 U8 n1 x' X
-r, --reverse
# F- H" j+ [' F" z5 e, b! A2 eReverse the result of comparisons1 t: Q5 D9 B  ]$ W9 v
|3 H+ S( C3 k* F) r
A pipe serves the sdout of the previous command as input (stdin) to the next one% @% b( G5 Y" g- r0 w+ e, Q
head9 h: O3 |" u4 `) u2 \
Output the first part of files% G$ Q" v6 O6 Z8 y/ Y. \2 `. W
-5( l4 a. I& g; }( k7 F! w
An argument. p4 X9 A( l5 B4 ]

2 q* w! |# ?7 s* C# r5 o+ p

& F5 [0 O% a3 ^2 O
赞 收藏 评论0 发布时间:2020-3-6 14:28

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版