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.
Example
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 the following:
# 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/'
Usage
To view a cheatsheet:
cheat tar # a "top-level" cheatsheet
cheat foo/bar # a "nested" cheatsheet
To edit a cheatsheet:
cheat -e tar # opens the "tar" cheatsheet for editing, or creates it if it does not exist
cheat -e foo/bar # nested cheatsheets are accessed like this
To view the configured cheatpaths:
cheat -d
To list all available cheatsheets:
cheat -l
To list all cheatsheets on the "personal" path:
cheat -l -p personal
To search for the phrase "ssh" among cheatsheets:
cheat -s ssh
Cheatsheets
Cheatsheets are plain-text files with optional file extensions. When the extension is excluded, they are named according to the command used to view them:
cheat tar # file is named "tar" or "tar.EXTENSION"
cheat foo/bar # file is named "bar" or "bar.EXTENSION", in a "foo" subdirectory
Cheatpaths
Cheatsheets are stored on "cheatpaths", which are directories that contain
cheatsheets. Cheatpaths are specified in the conf.yml file.
It can be useful to configure cheat against multiple cheatpaths. A common
pattern is to store cheatsheets from multiple repositories on individual
cheatpaths:
# conf.yml:
# ...
cheatpaths:
- name: community # a name for the cheatpath
path: ~/documents/cheat/community # the path's location on the filesystem
tags: [ community ] # these tags will be applied to all sheets on the path
readonly: true # if true, `cheat` will not create new cheatsheets here
- name: personal
path: ~/documents/cheat/personal # this is a separate directory and repository than above
tags: [ personal ]
readonly: false # new sheets may be written here
# ...
The readonly option instructs cheat not to edit (or create) any cheatsheets
on the path. This is useful to prevent merge-conflicts from arising on upstream
cheatsheet repositories.
If a user attempts to edit a cheatsheet on a read-only cheatpath, cheat will
transparently copy that sheet to the first writeable directory in 'cheatpaths' before opening it for
editing.
Metadata
Release files for cheatcheat 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cheatcheat-0.1.1.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cheatcheat-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.0 kB
Release files / cheatcheat-0.1.1.tar.gz
| Download URL | cheatcheat-0.1.1.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fde6e451380e4374c1c0c616cbfa0b1985020b1ae321cf953127467ad899e2b0
|
|
BLAKE2b-256 checksum How to use checksums |
5553c0b56c51de8bb54598f536305a68ce089e60ce01cc051a2fbfb10111f4b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / cheatcheat-0.1.1-py3-none-any.whl
| Download URL | cheatcheat-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e658eaf755ce9908595e16ed06b00ec6056066f89782f3fd3d90fa0b97010359
|
|
BLAKE2b-256 checksum How to use checksums |
9239656b525c5d29e116d8f00ab57de075151d36cb07b6e46923d0d9dfe7f674
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|