Cheat Sheet
Charly's Column – cheat.sh
Whenever you really need documentation, it's almost always incomplete or outdated – or both. Sys admin columnist Charly K¸hnast recommends a radically different approach: the universal community documentation cheat.sh, which no Linux command and hardly any programming language should do without.
Even at school, teachers encouraged us to make cheat sheets – although actually using them was forbidden. Writing a cheat sheet helps you to keep things in mind longer. Cheat sheets are also useful after school.
For example, I have a coffee cup printed with maybe 50 important Vim commands that I occasionally consult for its more obscure finger exercises. Oddly, the matching 20-liter bucket with the basic command set for Emacs, which I saw at a Chaos Communication Congress, seems to have remained a one-off – clearly a missed opportunity.
I created an electronic cheat sheet, in which I archive code snippets and brief how-tos, in Nextcloud. Nevertheless, questions continually pop up for which I have to resort to the search engine that I mistrust the least. How do you overwrite a MAC address? How do you sort an array in Go? How do you discover the MIME encoding of a file? If only I had a cheat sheet for all of this!
Voilà: Enter cheat.sh
. You can guess from where the name derives. Igor Chubin, the author, offers an online repository that provides command-line-friendly tips via HTTP(S). An example: Instead of ifconfig
, which is out of fashion, Linux users should go for ip
. But how does the syntax go? Just type
curl cheat.sh/ip
at the command line, and cheat.sh
promptly returns the most important examples (Figure 1), including the answer to my specific question about how to overwrite a MAC address.
Multilingual
cheat.sh
not only understands Linux system commands, it also provides tips for more than 60 programming languages. The requests always follow the syntax:
curl cheat.sh/<language>/<keyword>
How do you write something to a file in Ruby? Let's find out:
curl cheat.sh/ruby/write
cheat.sh
's answer is impressive:
File.open(yourfile, 'w') { |file| file.write("your text") }
Imagine if I was a complete stranger to Ruby and wanted to get an overview of the language; I could do so with the command
curl cheat.sh/ruby/:learn | less
to get a compact but comprehensive introduction. In addition to the curl
queries, I can use the https://cheat.sh website. Besides this, a small Bash client [1] removes the need for me to type curl
. Or, I can build an alias for it. The command
curl cheat.sh/alias
explains how this works.
Infos
Buy this article as PDF
(incl. VAT)