The term "cheat sheet" has long been used to refer to listings of commands with quick explanations and examples that help people get used to running them on the Linux command line and understanding their many options.\nMost Linux users have, at one time or another, relied on cheat sheets to get them started. There is, however, a tool called "cheat" that comes with a couple hundred cheat sheets and that installs quickly and easily on Fedora and likely many other Linux systems. Read on to see how the cheat command works.\n\nFirst, to install cheat on Fedora, use a command like one of these:\n$ sudo yum install cheat\n\nThe cheat-sheet files on Fedora will be stored in \/usr\/share\/cheat and are all simple ASCII (text) files like this one:\n$ file \/usr\/share\/cheat\/xargs\n\/usr\/share\/cheat\/xargs: ASCII text\n\nTo use the cheat command, try commands like these:\n$ cheat uname\n$ cheat xargs\n$ cheat cheat\n\nFor the uname command, the response will look like this, displaying command options and sample output:\n$ cheat uname\n# To print all system information:\nuname -a\n# Linux system-hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.32-1 x86_64 GNU\/Linux\n\n# To print the hostname:\nuname -n\n# system-hostname\n\n# To print the kernel release:\nuname -r\n# 3.2.0-4-amd64\n\n# To print the kernel version, with more specific information:\nuname -v\n# #1 SMP Debian 3.2.32-1\n\n# To print the hardware instruction set:\nuname -m\n# x86_64\n\n# To print the kernel name:\nuname -s\n# Linux\n\n# To print the operating system:\nuname -o\n# GNU\/Linux\n\nThe command cheat sheets that are installed with the cheat tool include all of these:\n$ cd \/usr\/share\/cheat$ ls7z csplit head mutt pip snmpwalk treeab cups hello mv pkcon socat truncateacl curl hg mysql pkgtools sockstat udisksctlalias cut history mysqldump pkill sort ulimitansi date http nc popd split unameapk dd hub ncat ps sport uniqapparmor deb iconv ncdu psql sqlite3 unzipapt df ifconfig netstat pushd sqlmap urpmapt-cache dhclient indent nkf pwd ss vagrantapt-get diff ip nmap python ssh vimaptitude distcc iptables nmcli r2 ssh-add virtualenvaria2c dnf irssi notify-send rcs ssh-copy-id wcasciiart docker iwconfig nova readline ssh-keygen weechatasterisk dpkg journalctl npm rename stdout wgetat du jq ntp rm strace xargsawk emacs jrnl numfmt route su xmltobash export kill od rpm sudo xrandrbower ffmpeg less openssl rpm2cpio svn xxdbzip2 find lib org-mode rss2email systemctl yaourtcat fkill ln p4 rsync systemd youtube-dlcd for ls pacman sam2p tail yumcheat gcc lsblk pass scd tar zchmod gdb lsof paste scp tarsnap zfschown git lvm patch screen tcpdump zipcomm gpg man pdftk sed tee zoneadmconvert grep markdown perl shred tidy zshcp gs mdadm pgrep shutdown tmuxcpdf gyb mkdir php slurm topcrontab gzip more ping smbclient trcryptsetup hardware-info mount ping6 snap trashy\n\nYou can display a cheat sheet for any of these commands. Some will show a long series of examples and others, just a few. This, of course, depends on the command's complexity and options.\n$ cheat ulimit\n# Report all current limits\nulimit -a\n\n# Unlimited file descriptors\nulimit -n unlimited\n\nThere is no man page available for the cheat command, but you can cheat on the cheat command itself to see its options:\n$ cheat cheat\n# To see example usage of a program:\ncheat \n\n# To edit a cheatsheet\ncheat -e \n\n# To list available cheatsheets\ncheat -l\n\n# To search available cheatsheets\ncheat -s \n\n# To get the current `cheat' version\ncheat -v\n\nUsing the cheat -l command, for example, we can see the commands, files and tags which tell where the cheat sheets came from:\n$ cheat -l | head -11\ntitle: file: tags:\n7z \/usr\/share\/cheat\/7z community,compression\nab \/usr\/share\/cheat\/ab community\nacl \/usr\/share\/cheat\/acl community\nalias \/usr\/share\/cheat\/alias community\nansi \/usr\/share\/cheat\/ansi community\napk \/usr\/share\/cheat\/apk community,packaging\napparmor \/usr\/share\/cheat\/apparmor community\napt \/usr\/share\/cheat\/apt community,packaging\napt-cache \/usr\/share\/cheat\/apt-cache community,packaging\napt-get \/usr\/share\/cheat\/apt-get community,packaging\n\nIf you want to add your own cheat sheets, you first need to select your editor and create a directory to store them.\n$ export CHEAT_EDITOR=\/usr\/bin\/vim\n$ mkdir .cheat\n\nThen use the cheat -e command to create your cheat sheet:\n$ cheat -e hello\n\nHere's the hello file which contains a sample cheat sheet for this new command:\n$ cat hello\nHello, World!\n=============\nFor some reason, the world never says hello back, but saying "Hello, World!"\nis something of a Unix\/Linux tradition.\n\nNow copy the file to the \/usr\/share\/cheat directory:\n$ sudo cp .cheat\/hello \/usr\/share\/cheat\n\nThen try out your new cheat sheet:\n$ cheat hello\nHello, World!\n=============\nFor some reason, the world never says hello back, but saying "Hello, World!"\nis something of a Unix\/Linux tradition.\n\nYou can add cheat sheets for other commands or for scripts that you intend others to use to explain their options. Unlike man pages, cheat sheets just provide command examples, but often these are the most useful thing, especially for new users who don't want to struggle with all of a command's syntactical options explained in the associated man pages.