搞开发这么多年,说来有三个小目标希望能彻底实现
- 完全使用*nix系统,Windows是给小白用的,搞开发,就必须是Linux。Mac实现了部分的目标,说实话在桌面这块也比Linux要好,主要是软件的支持;
- 整天和shell腻在一起,除了IDE和上网,最好不要离开那个黑窗口;
- 多使用英文材料,再好的中文资料也是炒冷饭,不论遇到问题还是学习知识,最好直接看英文,语言说白了就是一个熟练工种。
在努力实现这三个小目标的过程中,在最大的同性交友网站的闲逛中,发现了一个万星级别的好项目,且和我的三个小目标不谋而合,这就是今天要介绍的cheat.sh。
工具概述
先说什么是cheat,cheat表面意思是作弊,这里显然不是。这里应该是cheat sheet的用法,也就是一页纸,是一种参考,请看百度的解释
没错,还记得上大学时候的某些考试么,老师让带一张A4纸,记不住的公式,定义可以提前写好,能写多少全凭自己本事。cheat.sh这个项目,就是给程序员的一页纸参考。
cheat的github地址在这里
官网就是cheat.sh,且支持https哦
cheat.sh既是github上的项目名称,也是一个脚本,还是一个域名,网站居然长这个“鬼样”。
那么这个项目是做什么的呢?其实就是一件事,给程序员手边的参考,最重要的是,你不用离开shell,在黑窗口中输入你想问的问题,多半会给你满意的答复。那么问题主要集中在哪几个方面呢?
- 类unix的shell命令:某些命令一时不记得怎么用,例如解压缩命令,例如网络或磁盘命令
- 某语言的基础语法:例如go语言,python语言的loop循环,变量定义,甚至整个语言的概览
- 基于某语言的具体问题:例如利用go语言如何解析json串,如何利用python语言查看系统信息
当这些问题产生时,cheat就可以大派用场了。
工具用法
工具的用法非常简单,也提供了几种便捷的方式
- 不是自己的电脑,或者偶尔尝下鲜?那就用
curl cheat.sh/{your_question}
这种方式 - 如果觉得好,需要安装在本地或者alias的话,可以通过安装的方式,把脚本下载下来,之后就是
$ cht.sh {your_question}
这种方式(注:$是linux提示符,下同) - 如果需要交互式的使用cheat.sh,那就索性启动一个shell(
$ cht.sh --shell
),在里面进行输入会更加方便。
至于{your_question}
部分,可以分为以下几种
linux命令的提示
记不住某个命令,比如tar的用法,可以直接输入命令进行查询,如下采用$ cht.sh tar
的方式。如果你使用过tldr,对这个结果会非常熟悉
更重要的是,查询的命令不限于Linux的内置命令,一些第三方的小神器都有可能有相关的cheat sheet可以查到,例如neofetch这个工具
学习一门语言
现在的开发语言太多了,想快速的入门一种,怎么做呢?用$ cht.sh {lang}/:learn
一条命令就可以了!
{lang}
的部分,官网号称支持60种以上,常用的都涵盖了,例如Python,js,go,Lua......
有些是没有:/learn
语法,但是会有些具体的topic进行学习,例如mongo,提供了comparison, crud, cursor, shell等topic,使用cht.sh mongo/crud
命令即可查看,如下图所示
具体问题的解答
如果是遇到了使用某语言中的具体问题,如上所说的,则可以直接使用cheat获得解答,使用一张官网的图
这个图显示的是查询“go语言如何执行外部程序”,cheat会返回一段用该语言格式写的解答,包括描述,代码等。言简意赅,最重要的还是不用离开shell。
对shell的补充说明
如果是重度使用cheat.sh,进入shell是一个好方法。在shell里有几点需要说明
- shell可以使用
cd {lang}
进入某个语言,这样会更方便输入问题或学习; - shell里,输入问题不用使用+号连接字符串,例如上图的例子,在shell里这样输入
cht.sh> go execute external program
(cht.sh>是提示符)就可以了; - 可以通过
:list
列出所有可用的内置topic(包括:learn
这种命令),注意在非shell环境也是可以使用的,例如$ cht.sh mongo/:list
- 可以在命令后增加一个
/n
,n为1,2,3...,可以就一个问题获得多个解答,多看点总是好的; - 结果出来以后,按c或者C,可以拷贝结果到剪贴板,区别是一个有注释,一个只包含代码,多贴心!
更多的使用方法,还请移步github主页进行探索!