Skip to content

πŸš€ Interactive CLI cheat sheet utility with multi-language support. Quick command reference for bash, git, docker, vim, systemctl, tmux, htop, curl, ssh, find, tar, awk and more. Features search, colorized output, and easy language switching.

License

Notifications You must be signed in to change notification settings

mrvi0/cli-cheatsheet

Repository files navigation

cli-cheatsheet

All Contributors

License: MIT Shell Platform

An interactive terminal utility for quick command reference.

🌍 Choose your language / Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык
Language Documentation
πŸ‡ΊπŸ‡Έ English README.md (current)
πŸ‡·πŸ‡Ί Русский docs/ru/README.md

πŸš€ Idea

Call cheat <topic> to display a concise and useful cheat sheet for commands (bash, git, docker, vim, systemctl, etc.).

✨ Features

  • cheat <topic> β€” shows a text cheat sheet by key
  • Comprehensive topic support: cheat git, cheat bash, cheat docker, cheat systemctl, cheat tmux, cheat htop, cheat curl, cheat ssh, cheat find
  • Colorful output (headers, commands, descriptions)
  • Autocompletion or list all topics: cheat list
  • Advanced search functionality: cheat search <query> with grouped results by topic
  • Multi-language support (en/ru) with JSON-based translations
  • Theme support (light/dark)
  • Language switching: cheat lang <language>
  • Template-based system with placeholder substitution
  • Optimized performance with efficient translation lookup

πŸ“Š Cheat Sheets Status

πŸ”§ System Utilities

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
bash βœ… βœ… ❌ ❌ ❌
systemctl βœ… βœ… ❌ ❌ ❌
cron βœ… βœ… ❌ ❌ ❌
htop βœ… βœ… ❌ ❌ ❌
tmux βœ… βœ… ❌ ❌ ❌
ps βœ… βœ… ❌ ❌ ❌
kill πŸ”„ πŸ”„ ❌ ❌ ❌
top πŸ”„ πŸ”„ ❌ ❌ ❌
iotop πŸ”„ πŸ”„ ❌ ❌ ❌
useradd πŸ”„ πŸ”„ ❌ ❌ ❌
sudo πŸ”„ πŸ”„ ❌ ❌ ❌
mount πŸ”„ πŸ”„ ❌ ❌ ❌

🌐 Network Utilities

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
curl βœ… βœ… ❌ ❌ ❌
ssh βœ… βœ… ❌ ❌ ❌
netstat βœ… βœ… ❌ ❌ ❌
nmap βœ… βœ… ❌ ❌ ❌
lsof βœ… βœ… ❌ ❌ ❌
ping πŸ”„ πŸ”„ ❌ ❌ ❌
traceroute πŸ”„ πŸ”„ ❌ ❌ ❌
dig πŸ”„ πŸ”„ ❌ ❌ ❌
wget πŸ”„ πŸ”„ ❌ ❌ ❌
rsync πŸ”„ πŸ”„ ❌ ❌ ❌
nc πŸ”„ πŸ”„ ❌ ❌ ❌
iftop πŸ”„ πŸ”„ ❌ ❌ ❌

πŸ›‘οΈ Security & Firewalls

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
ufw βœ… βœ… ❌ ❌ ❌
iptables βœ… βœ… ❌ ❌ ❌
fail2ban πŸ”„ πŸ”„ ❌ ❌ ❌
openssl πŸ”„ πŸ”„ ❌ ❌ ❌
gpg πŸ”„ πŸ”„ ❌ ❌ ❌
ssh-keygen πŸ”„ πŸ”„ ❌ ❌ ❌

πŸ“ Text Processing

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
vim βœ… βœ… ❌ ❌ ❌
sed βœ… βœ… ❌ ❌ ❌
awk βœ… βœ… ❌ ❌ ❌
grep πŸ”„ πŸ”„ ❌ ❌ ❌
cut πŸ”„ πŸ”„ ❌ ❌ ❌
sort πŸ”„ πŸ”„ ❌ ❌ ❌
wc πŸ”„ πŸ”„ ❌ ❌ ❌
jq πŸ”„ πŸ”„ ❌ ❌ ❌
nano πŸ”„ πŸ”„ ❌ ❌ ❌

πŸ” File System & Search

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
find βœ… βœ… ❌ ❌ ❌
ls πŸ”„ πŸ”„ ❌ ❌ ❌
cp πŸ”„ πŸ”„ ❌ ❌ ❌
chmod πŸ”„ πŸ”„ ❌ ❌ ❌
du πŸ”„ πŸ”„ ❌ ❌ ❌
locate πŸ”„ πŸ”„ ❌ ❌ ❌
ripgrep πŸ”„ πŸ”„ ❌ ❌ ❌

πŸ“¦ Archiving & Compression

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
tar βœ… βœ… ❌ ❌ ❌
zip πŸ”„ πŸ”„ ❌ ❌ ❌
gzip πŸ”„ πŸ”„ ❌ ❌ ❌
bzip2 πŸ”„ πŸ”„ ❌ ❌ ❌
xz πŸ”„ πŸ”„ ❌ ❌ ❌
zstd πŸ”„ πŸ”„ ❌ ❌ ❌

🐳 Containerization

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
docker βœ… βœ… ❌ ❌ ❌
docker-compose πŸ”„ πŸ”„ ❌ ❌ ❌
kubectl πŸ”„ πŸ”„ ❌ ❌ ❌
podman πŸ”„ πŸ”„ ❌ ❌ ❌

πŸ”§ Development Tools

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
git βœ… βœ… ❌ ❌ ❌
make πŸ”„ πŸ”„ ❌ ❌ ❌
cmake πŸ”„ πŸ”„ ❌ ❌ ❌
gcc πŸ”„ πŸ”„ ❌ ❌ ❌
gdb πŸ”„ πŸ”„ ❌ ❌ ❌
valgrind πŸ”„ πŸ”„ ❌ ❌ ❌

πŸ“¦ Package Management

Utility πŸ‡ΊπŸ‡Έ English πŸ‡·πŸ‡Ί Русский πŸ‡©πŸ‡ͺ Deutsch πŸ‡«πŸ‡· FranΓ§ais πŸ‡ͺπŸ‡Έ EspaΓ±ol
package-managers βœ… βœ… ❌ ❌ ❌
apt πŸ”„ πŸ”„ ❌ ❌ ❌
yum πŸ”„ πŸ”„ ❌ ❌ ❌
dnf πŸ”„ πŸ”„ ❌ ❌ ❌
pacman πŸ”„ πŸ”„ ❌ ❌ ❌
snap πŸ”„ πŸ”„ ❌ ❌ ❌
flatpak πŸ”„ πŸ”„ ❌ ❌ ❌

Legend:

  • βœ… Available - Complete cheat sheet with translations
  • ❌ Not available - Cheat sheet or translations missing
  • πŸ”„ In progress - Currently being developed

πŸ“ Project Structure

cli-cheatsheet/
β”œβ”€β”€ cheat.sh              # Main script
β”œβ”€β”€ config.json           # Configuration
β”œβ”€β”€ localizations/        # Translation files by language
β”‚   β”œβ”€β”€ en/              # English translations
β”‚   β”‚   β”œβ”€β”€ bash.json    # Bash translations
β”‚   β”‚   β”œβ”€β”€ git.json     # Git translations
β”‚   β”‚   β”œβ”€β”€ docker.json  # Docker translations
β”‚   β”‚   β”œβ”€β”€ vim.json     # Vim translations
β”‚   β”‚   β”œβ”€β”€ systemctl.json # Systemctl translations
β”‚   β”‚   β”œβ”€β”€ tmux.json    # Tmux translations
β”‚   β”‚   β”œβ”€β”€ htop.json    # Htop translations
β”‚   β”‚   β”œβ”€β”€ curl.json    # Curl translations
β”‚   β”‚   β”œβ”€β”€ ssh.json     # SSH translations
β”‚   β”‚   β”œβ”€β”€ find.json    # Find translations
β”‚   β”‚   β”œβ”€β”€ tar.json     # Tar translations
β”‚   β”‚   └── awk.json     # AWK translations
β”‚   └── ru/              # Russian translations
β”‚       β”œβ”€β”€ bash.json    # Bash translations
β”‚       β”œβ”€β”€ git.json     # Git translations
β”‚       β”œβ”€β”€ docker.json  # Docker translations
β”‚       β”œβ”€β”€ vim.json     # Vim translations
β”‚       β”œβ”€β”€ systemctl.json # Systemctl translations
β”‚       β”œβ”€β”€ tmux.json    # Tmux translations
β”‚       β”œβ”€β”€ htop.json    # Htop translations
β”‚       β”œβ”€β”€ curl.json    # Curl translations
β”‚       β”œβ”€β”€ ssh.json     # SSH translations
β”‚       β”œβ”€β”€ find.json    # Find translations
β”‚       β”œβ”€β”€ tar.json     # Tar translations
β”‚       β”œβ”€β”€ awk.json     # AWK translations
β”‚       └── ps.json      # PS translations
β”œβ”€β”€ templates/            # Cheat sheet templates
β”‚   β”œβ”€β”€ bash.txt         # Bash template
β”‚   β”œβ”€β”€ git.txt          # Git template
β”‚   β”œβ”€β”€ docker.txt       # Docker template
β”‚   β”œβ”€β”€ vim.txt          # Vim template
β”‚   β”œβ”€β”€ systemctl.txt    # Systemctl template
β”‚   β”œβ”€β”€ tmux.txt         # Tmux template
β”‚   β”œβ”€β”€ htop.txt         # Htop template
β”‚   β”œβ”€β”€ curl.txt         # Curl template
β”‚   β”œβ”€β”€ ssh.txt          # SSH template
β”‚   β”œβ”€β”€ find.txt         # Find template
β”‚   β”œβ”€β”€ tar.txt          # Tar template
β”‚   β”œβ”€β”€ awk.txt          # AWK template
β”‚   └── ps.txt           # PS template
└── docs/                # Documentation
    └── ru/              # Russian documentation
        └── README.md    # Russian README

πŸ› οΈ Installation

Quick Install (Recommended)

git clone https://github.com/mrvi0/cli-cheatsheet.git
cd cli-cheatsheet
sudo ln -s "$(pwd)/cheat.sh" /usr/local/bin/cheat

After installation, you can use cheat command from anywhere in your system!

Manual Install

git clone https://github.com/mrvi0/cli-cheatsheet.git
cd cli-cheatsheet
chmod +x cheat.sh
./cheat.sh <topic>

πŸ“Έ Screenshots

Help Command

Help command output and usage instructions

Git Commands and Language Switching

Git cheat sheet with language switching example

Topic List

Available topics and utilities list

Search Functionality

Advanced search across all cheat sheets

πŸ“– Usage Examples

Show cheat sheet

$ cheat git
# Git Cheat Sheet

$ git status
> Show the working tree status

$ git add .
> Add all changes to staging

$ git commit -m "message"
> Commit changes with a message

$ git log
> Show commit logs

List all topics

$ cheat list
Available topics:
  - awk
  - bash
  - cron
  - curl
  - docker
  - find
  - git
  - htop
  - ps
  - sed
  - ssh
  - systemctl
  - tar
  - tmux
  - vim

Search in cheat sheets

$ cheat search commit
Searching for: commit
---
git:
$ git commit -m "message"
> Commit changes with a message

$ cheat search find
Searching for: find
---
find:
$ find . -name "filename"
> Find files by exact name

$ find . -type f -name "*.txt"
> Find text files

Change language

$ cheat lang ru
Language changed to: ru

$ cheat git
# Git Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ°

$ git status
> ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ статус Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

Update utility

$ cheat update
Updating cli-cheatsheet...
Current branch: main
Fetching latest changes...
Found 3 new commit(s)
Pulling latest changes...
Successfully updated cli-cheatsheet!

Get help

$ cheat help
cli-cheatsheet - Interactive terminal utility

Usage:
  cheat <topic>           Show cheat sheet for topic
  cheat list              List all available topics
  cheat search <query>    Search in all cheat sheets
  cheat lang <language>   Change language (en/ru)
  cheat update            Update to latest version
  cheat help              Show this help

Examples:
  cheat git               Show git cheat sheet
  cheat bash              Show bash cheat sheet
  cheat ps                Show ps cheat sheet
  cheat search commit     Search for 'commit' in all sheets
  cheat lang ru           Change language to Russian
  cheat lang en           Change language to English
  cheat update            Update to latest version

🌍 Language Support

Change Language via CLI

cheat lang ru    # Switch to Russian
cheat lang en    # Switch to English

Change Language via Config

Edit config.json:

{
  "lang": "ru",
  "theme": "dark"
}

Add New Language

  1. Create directory: localizations/your_lang/
  2. Create translation files for each utility: localizations/your_lang/utility.json
  3. Add translations with keys matching templates
  4. Use cheat lang your_lang to switch

🎨 Color Scheme

  • Headers (#) - Cyan bold
  • Commands ($) - Green
  • Descriptions (>) - Yellow
  • Errors - Red
  • Search results - Magenta

πŸ“ Adding New Topics

Create a new file templates/your_topic.txt:

# {your_topic_title}

$ command example
> {command_description}

$ another command
> {another_description}

Then add translations to localizations/en.json and localizations/ru.json:

{
  "your_topic_title": "Your Topic Cheat Sheet",
  "command_description": "Description of what this command does",
  "another_description": "Another description"
}

Template Format

  • Use {key_name} placeholders for translations
  • Commands start with $
  • Descriptions start with >
  • Headers start with #
  • Add empty lines between commands for better readability

πŸ“š Documentation

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on how to contribute to this project.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Inspired by the need for quick command reference
  • Built with pure bash for maximum compatibility
  • Color support for better readability

πŸ‘₯ Contributors

Thanks to all contributors! πŸŽ‰ Want to see yourself here? Make a PR!

Vi
Vi

πŸ’» πŸ“– πŸ€”
Add your contributions

This list is updated automatically using all-contributors after each merged PR.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

About

πŸš€ Interactive CLI cheat sheet utility with multi-language support. Quick command reference for bash, git, docker, vim, systemctl, tmux, htop, curl, ssh, find, tar, awk and more. Features search, colorized output, and easy language switching.

Topics

Resources

License

Stars

Watchers

Forks

Languages