工具箱程序员

程序员的“一页纸小抄” —— cheat.sh

2018-08-07  本文已影响455人  扁圆柱体

搞开发这么多年,说来有三个小目标希望能彻底实现

  1. 完全使用*nix系统,Windows是给小白用的,搞开发,就必须是Linux。Mac实现了部分的目标,说实话在桌面这块也比Linux要好,主要是软件的支持;
  2. 整天和shell腻在一起,除了IDE和上网,最好不要离开那个黑窗口;
  3. 多使用英文材料,再好的中文资料也是炒冷饭,不论遇到问题还是学习知识,最好直接看英文,语言说白了就是一个熟练工种。

在努力实现这三个小目标的过程中,在最大的同性交友网站的闲逛中,发现了一个万星级别的好项目,且和我的三个小目标不谋而合,这就是今天要介绍的cheat.sh。

工具概述

先说什么是cheat,cheat表面意思是作弊,这里显然不是。这里应该是cheat sheet的用法,也就是一页纸,是一种参考,请看百度的解释

一页纸参考

没错,还记得上大学时候的某些考试么,老师让带一张A4纸,记不住的公式,定义可以提前写好,能写多少全凭自己本事。cheat.sh这个项目,就是给程序员的一页纸参考。

cheat的github地址在这里
官网就是cheat.sh,且支持https哦

cheat.sh既是github上的项目名称,也是一个脚本,还是一个域名,网站居然长这个“鬼样”。


官网

那么这个项目是做什么的呢?其实就是一件事,给程序员手边的参考,最重要的是,你不用离开shell,在黑窗口中输入你想问的问题,多半会给你满意的答复。那么问题主要集中在哪几个方面呢?

  1. 类unix的shell命令:某些命令一时不记得怎么用,例如解压缩命令,例如网络或磁盘命令
  2. 某语言的基础语法:例如go语言,python语言的loop循环,变量定义,甚至整个语言的概览
  3. 基于某语言的具体问题:例如利用go语言如何解析json串,如何利用python语言查看系统信息

当这些问题产生时,cheat就可以大派用场了。

工具用法

工具的用法非常简单,也提供了几种便捷的方式

  1. 不是自己的电脑,或者偶尔尝下鲜?那就用curl cheat.sh/{your_question}这种方式
  2. 如果觉得好,需要安装在本地或者alias的话,可以通过安装的方式,把脚本下载下来,之后就是$ cht.sh {your_question}这种方式(注:$是linux提示符,下同)
  3. 如果需要交互式的使用cheat.sh,那就索性启动一个shell($ cht.sh --shell),在里面进行输入会更加方便。

至于{your_question}部分,可以分为以下几种

linux命令的提示

记不住某个命令,比如tar的用法,可以直接输入命令进行查询,如下采用$ cht.sh tar的方式。如果你使用过tldr,对这个结果会非常熟悉

查询tar的使用方式

更重要的是,查询的命令不限于Linux的内置命令,一些第三方的小神器都有可能有相关的cheat sheet可以查到,例如neofetch这个工具

neofetch的用法查询

学习一门语言

现在的开发语言太多了,想快速的入门一种,怎么做呢?用$ cht.sh {lang}/:learn一条命令就可以了!

{lang}的部分,官网号称支持60种以上,常用的都涵盖了,例如Python,js,go,Lua......

有些是没有:/learn语法,但是会有些具体的topic进行学习,例如mongo,提供了comparison, crud, cursor, shell等topic,使用cht.sh mongo/crud命令即可查看,如下图所示

mongo的crud

具体问题的解答

如果是遇到了使用某语言中的具体问题,如上所说的,则可以直接使用cheat获得解答,使用一张官网的图

具体问题的解答

这个图显示的是查询“go语言如何执行外部程序”,cheat会返回一段用该语言格式写的解答,包括描述,代码等。言简意赅,最重要的还是不用离开shell。

对shell的补充说明

如果是重度使用cheat.sh,进入shell是一个好方法。在shell里有几点需要说明

  1. shell可以使用cd {lang}进入某个语言,这样会更方便输入问题或学习;
  2. shell里,输入问题不用使用+号连接字符串,例如上图的例子,在shell里这样输入cht.sh> go execute external program(cht.sh>是提示符)就可以了;
  3. 可以通过:list列出所有可用的内置topic(包括:learn这种命令),注意在非shell环境也是可以使用的,例如$ cht.sh mongo/:list
  4. 可以在命令后增加一个/n,n为1,2,3...,可以就一个问题获得多个解答,多看点总是好的;
  5. 结果出来以后,按c或者C,可以拷贝结果到剪贴板,区别是一个有注释,一个只包含代码,多贴心!

更多的使用方法,还请移步github主页进行探索!

上一篇下一篇

猜你喜欢

热点阅读