Skip to content

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
│       ├── kill.json    # KILL translations
│       ├── apt.json     # APT translations
│       └── top.json     # TOP 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
│   ├── kill.txt         # KILL template
│   ├── apt.txt          # APT template
│   └── top.txt          # TOP 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
  - kill
  - ps
  - sed
  - apt
  - top
  - 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 kill              Show kill cheat sheet
  cheat ps                Show ps cheat sheet
  cheat apt               Show apt cheat sheet
  cheat top               Show top 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

Contributing

Stars

Watchers

Forks

Contributors

Languages