cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.
Go to file
nebukadnezzar 67cb9c10d4 install to $HOME/bin instead of /usr/local/bin, and create symlinks, instead of copying 2013-08-12 01:45:11 +02:00
.cheat Refactored the application per some feedback on reddit. 2013-08-11 15:37:11 -04:00
LICENSE Made trivial changes to the README. Added the GPL 3 license. 2013-08-10 19:06:01 -04:00
README.md Updated the README. 2013-08-11 15:57:11 -04:00
cheat Refactored the application per some feedback on reddit. 2013-08-11 15:37:11 -04:00
install install to $HOME/bin instead of /usr/local/bin, and create symlinks, instead of copying 2013-08-12 01:45:11 +02:00

README.md

cheat

cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.

The obligatory xkcd

cheat depends only on python.

Examples

The next time you're forced to disarm a nuclear weapon without consulting Google, you may run:

cheat tar

You will be presented with a cheatsheet resembling:

To extract an uncompressed archive: 
tar -xvf /path/to/foo.tar

To extract a .gz archive:
tar -xzvf /path/to/foo.tgz

To create a .gz archive:
tar -czvf /path/to/foo.tgz /path/to/foo/

To extract a .bz2 archive:
tar -xjvf /path/to/foo.tgz

To create a .bz2 archive:
tar -cjvf /path/to/foo.tgz /path/to/foo/

To see what cheatsheets are availble, run cheat with no arguments.

Note that, while cheat was designed primarily for *nix system administrators, it is agnostic as to what content it stores. If you would like to use cheat to store notes on your favorite cookie recipes, feel free.

Installing

Do the following to install cheat:

  1. Clone this repository and cd into it
  2. Run sudo ./install

The install script will copy a python file into /usr/local/bin/, and will also create a hidden .cheat folder (containing the cheatsheet content) in your home directory.

Modifying Cheatsheets

The value of cheat is that it allows you to create your own cheatsheets - the defaults are meant to serve only as a starting point, and can and should be modified.

Cheatsheets are stored in the ~/.cheat/ directory, and are named on a per-keyphrase basis. In other words, the content for the tar cheatsheet lives in the ~/.cheat/tar file. To add a cheatsheet for a foo command, you would create file ~/.cheat/foo, whereby that file contained the cheatsheet content.

Note that cheat supports "subcommands" simply by naming files appropriately. Thus, if you wanted to create a cheatsheet not only (for example) for git but also for git commit, you could do so be creating cheatsheet files of the appropriate names (git and git commit).

After you've customized your cheatsheets, I urge you to track ~/.cheat/ along with your dotfiles.

Contributing

If you would like to contribute additional cheatsheets for basic *nix commands, please modify the .cheat file and send me a pull request.