Cheat – The Ultimate Linux Commands Cheat Sheet for Beginners and Administrators

What you do when you are not sure of the command you are running especially in case of complex Linux commands which use a lot of options. We use man pages to get some help in such situations. Some of the other options may include commands like ‘help‘, ‘whereis‘, and ‘whatis‘, but all have their pros and cons.

While going through man pages for options and help, the description in man pages are too lengthy to understand especially in a short span of time.

Linux Command Help
Linux Command Help

whereis Command – Find the Location of a Command

The whereis command hardly tells anything other than the location of installed binaries (commands), source code, and the manual page of the command.

$ whereis ls
whereis Command
whereis Command

whatis Command – Show Description of a Command

The whatis command gives a strict and one-liner answer which is not much helpful other than acknowledging the purpose of the command, Moreover, it never says a single word about the available options.

whatis Command
whatis Command

We have used all these options to date to solve our issue in the dilemma but here comes an interactive cheat-sheet application ‘Cheat‘ which is going to lead all the rest.

What is Linux Cheat Command?

Cheat is an interactive command-line cheatsheet application that allows you to create, view, and manage interactive cheat sheets for various commands and topics directly from the command line.

It allows you to store and organize helpful commands, tips, and examples in plain text files, referred to as cheat sheets. These cheat sheets can then be easily accessed and displayed in the terminal whenever needed.

Cheat - Provides Command Usage with Examples
Cheat – Provides Command Usage with Examples

How to Install Cheat Linux

To use the “cheat” utility, you need to have it installed on your system by simply running the following commands into your terminal:

$ cd /tmp 
$ wget https://github.com/cheat/cheat/releases/download/4.4.0/cheat-linux-amd64.gz 
$ gunzip cheat-linux-amd64.gz
$ chmod +x cheat-linux-amd64 
$ sudo mv cheat-linux-amd64 /usr/local/bin/cheat

You may need to change the version number (4.4.0) and the archive (cheat-linux-amd64.gz) while downloading from the releases page.

Next, add the cheat autocompletion feature to enable command-line autocompletion for different shells. To enable autocompletion, simply clone the ‘cheat.bash‘ script and copy the script to the appropriate path in your system.

$ wget https://github.com/cheat/cheat/blob/master/scripts/cheat.bash 
$ sudo mv cheat.bash /etc/bash_completion.d/
Note: The team has uploaded other shell’s auto-completion scripts to Git, which may be cloned and used in the case of the respective Shell.

Optionally, you can also enable syntax highlighting, if desired. To activate the syntax highlighting feature, add a CHEATCOLORS environment variable in your ‘.bashrc‘ file.

export CHEATCOLORS=true

The Cheat application default program only serves the basic and most used commands. The content of the cheat sheet resides at location ~/.cheat/ directory.

Manual Cheatsheets can be added to this location to make the application rich.

# cheat -e xyz

This will open xyz cheat sheet if available. If not it will create one and open in the default editor of your system.

How to Use Cheat Command in Linux

A tarball file may be *.gz  *.bz2 or *.zip or *.xz. So, what option is to be used to create a tar file in Linux?

$ cheat tar
Tar Command Usage with Examples
Tar Command Usage with Examples

I never run the dd command, no matter how much sure I am about the command before consulting and cross-checking it at more than one location.

The dd command is a versatile tool used to create byte-level copies of files, disks, partitions, or even entire storage devices. So, it is important to the use command, before running it. Incorrect usage or wrong target devices can lead to data loss or system corruption.

$ cheat dd
dd Command Usage with Examples
dd Command Usage with Examples

To get the command usage and help of uname, ip, ps, and top commands, use:

$ cheat uname
$ cheat ip
$ cheat top
# cheat ps
Cheat - Linux Command Example Usage
Cheat – Linux Command Example Usage

The cheat -l command is used to list all available cheat sheets that are accessible through the “cheat” command-line utility. It provides a convenient way to see the cheat sheets that have been installed and are ready to be accessed.

Cheat Command List
Cheat Command-List

The cheat -s command is used to list the location of built-in cheat sheets for all the commands.

$ cheat -s cat

community: /home/tecmint/.config/cheat/cheatsheets/community
personal:  /home/tecmint/.config/cheat/cheatsheets/personal
Conclusion

This wonderful project is a life Saviour in many-a-situation, which gives you information that is required, nothing extra, nothing vague, and to the point. This is a must tool for everyone. Easy to build, easy to install, easy to run, and easy to understand, this project seems promising.

This Git project has added a wonderful gag which I am not going to explain but leave to you to interpret.

Cheat Linux Gag
Cheat Linux Gag

That’s all for now. I’ll be here again with another interesting article you people will love to read. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comment section below.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Ravi Saive
I am an experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

62 Comments

Leave a Reply
  1. This installation guide is out of date and is now fundamentally incorrect. The cheat system is now better than ever and can be found here https://github.com/cheat/cheat.

    I suggest that this post should be taken down or revised

    Reply
  2. Sorry if this is getting sent a second time i seen no indication that it was received and i am going to be mush shorter this time around.. the solution to most peoples issues here is regarding a missing python-systemtools or similar errors are solved by ..

    # apt install python-wheel python-systemtools
    
    Reply
  3. Hey this is a great start, however somethings i found while helping someone install this i feel are missing from this and the project page. You can’t just use the commands here and expect it to work, maybe it did at the time of writing not sure the update follows anyway.

    Firstly i am talking Debian, The hang up happens when looking for python-setuptools and wheel for Debian users. If you want to follow this you also need to install the sys tools and wheel. If you get an error about python systemtools below is the solution to that ..

    # apt install python-setuptools python-wheel
    
    Reply
  4. Hello, I am trying to follow the installation instructions and am using Mint. For the # pip install docopt pygments command I get the following message

    Collecting docopt
    Downloading docopt-0.6.2.tar.gz
    Could not import setuptools which is required to install from a source distribution.
    

    Please install setuptools.

    Is that part of docopt?

    Reply
  5. I am using Kubuntu 14.04 LTS AMD64. In the yakuake terminal I added the EDITOR environment variable to .bashrc and then “quit” the terminal. After that whenever I hit F12 and yakuake dropped down the .bashrc changes were read in. I also created a cheatsheet for cheat and named it cheatsheet to prevent any confusion with cheat.

    Reply
  6. Hi Avishek ,

    This works great thanks.
    one remark (don’t know if it is already made) :
    export EDITOR =/usr/bin/nano is ok but export EDITOR =/usr/bin/nano
    is not ok (in the last example there is a space between EDITOR and the = sign)
    this space is also on this webpage.

    Reply
  7. You may want to put in your article that for all the commands and instructions to work as you have displayed them, you need elevated privileges. As an alternative and for those of us that enjoy the security of not being elevated all the time you may want to ad sudo where needed. This was required for several of your instructions. Also in some systems there is no .bashrc in the usr directory and instead the file will be named dot.bashrc and is in a subdirectory of the usr directory. Important to be clear about file locations.

    Reply
  8. Dear Avishek
    I’m running fish shell in Ubuntu box,but i can’t add editor variable.
    I tried add both in bashrc file and profile file,but unfortunately system doesn’t accept that.
    Please help me.
    Thanks

    Reply
  9. Hello sir m getting error while running this command “pip install docopt pygments” and error ” -bash: pip: command not found ” suggest how to remove it.

    Reply
    • @ sumit tyagi let us know
      if you installed pip or not?

      if pip is successfully installed check version and you will get something like this in output

      # pip –version
      pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)

      Also let us know the distro and release version you are using.

      Reply
  10. A big thankyou for this very useful resource! The very thing that puts me off scripting is that i don’t do it often enough to remember all the options/commands … and am forever looking them up … so frustrating.

    But NOW i have no excuse :D

    Reply
  11. Hey Avishek,

    Thanks for the software. I’m getting the following error when running cheat in Kubuntu 14.01 64 bit:

    Traceback (most recent call last):
    File “/usr/local/bin/cheat”, line 36, in
    from docopt import docopt
    ImportError: No module named docopt

    Any advice?

    Reply
  12. Really super and informative article….thank for sharing…

    Manual Cheat-sheets can be added to this location to make the application rich. how to do this?

    how to add the command on these list?

    Reply
    • Raj,
      its very simple and you could have understand by yourself if you have gone through article carefully.

      goto your home directory
      $ cd ~

      check there is a hidden directory ‘.cheat’, cd to it
      $ cd .cheat
      avi@tecmint:~/.cheat$

      List all the files there
      $ ls

      These are the available cheatsheets. you can add yours own here. Say create cheatsheet for command fake.

      $ touch ~/.cheat/fake
      avi@tecmint:~/.cheat$

      Open fake command cheatsheet and add your command description, save and exit.

      Nor run
      $ cheat fake

      All done! Hope this helps you.

      Reply
  13. Any way we could update ideas to expand the “cheat” file in the repository?
    That way we could do an “update” and get the latest “cheat” files.
    And it could be updated for just about anything.
    Maybe even “cheat yum 2” give you a second level of cheat with possibly more in depth information..

    Reply
    • John!
      contribute to community. write cheat-sheets and let the world gets benefited. Details to write cheat-sheets are given in the article as well as in comments reply, just below your’s this comment. Check.

      Reply
  14. Hi Avishek – this is really good info. thanks for sharing.
    QQ – If new commands are added to the cheat, how to get that from git (or any auto update script available)?

    Reply
    • @ Bob, either add the command yourself manually to Cheat as explained above. Else if it has been included in cheatsheet, Download the cheatsheet and add it to the cheatsheet file as described above in the location /home/user/.cheat

      Reply
    • same problem means?
      Tell us, what is the error message.
      Have you tried git?
      Have you tried downloading it manually from git website? and then installing.

      Reply
    • Seems some issue which your resolve.conf or service network.

      check /etc/resolve.conf is empty or not?

      Restart service network
      # service network restart

      Hope it helps

      Reply
        • @ sergey,
          most of us do /et(TAB)/re(TAB)

          And most of the time we get trapped in between English dictionary – Linux Dictionary.

          It is don’t stop me from being a Linux Admin, a FOSS Enthusiastic or a Techno-blog-writer.

          Apology for the typo!

          Reply
      • Perhaps a tool for Linux beginners you may say. I’d never hire a Linux admin who cannot create a simple bzip2 archive without using a cheat-sheet.

        Reply
        • Then you are a poor employer.
          No one needs to remember everything all the time and by hiring such a person you can get a book-worm.

          For me the real talent is how my employee face the challenge he/she is unaware of. And i will always hire an employee who is ready with next idea if last fails.

          Reply
  15. yum install python-pip does not work on CentOS 7 Minimal install. “No package python-pip available. Error: Nothing to do”

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.