Skip to main content

Interactive Linux command tutorial with hands-on terminal labs for beginners and ethical hackers

Project description

Linux Buddy - Interactive Linux Command Tutorial with Hands-On Labs

Master Linux commands through interactive terminal lessons with auto-generated practice labs. Featuring 100+ commands with ethical hacking context, instant terminal spawning, zero dependencies, and beginner-friendly explanations.

Python License: GPL-3.0 PyPI GitHub

Table of Contents

Features

  • โœจ 100+ Command Lessons - Covers file operations, networking, text processing, system admin, and security tools
  • ๐ŸŽฏ Auto-Generated Labs - Creates practice environments with dummy files for safe experimentation
  • โšก New Terminal Tabs - Launches lessons in separate gnome-terminal tabs with formatted content
  • ๐Ÿ“š Ethical Hacking Context - Every command includes cybersecurity significance and real-world use cases
  • ๐Ÿ”’ Zero Dependencies - Uses only Python standard library (os, sys, shutil, subprocess, textwrap, math)
  • ๐ŸŽจ 4-Column Menu - Clean paginated interface displaying 100 commands per page
  • ๐Ÿ—๏ธ Modular Architecture - Professional SOLID-principle codebase with src/data, src/core, src/ui structure
  • ๐Ÿ”ง Beginner-Friendly - Clear explanations, usage examples, and step-by-step practice instructions

Installation

Quick Install (Recommended)

Install directly from PyPI using pip:

pip install linux-buddy

Quick Install

git clone https://github.com/jo4dan/linux-buddy.git
cd linux-buddy
python main.py

Prerequisites

  • Python 3.6 or higher
  • Linux/Unix system (tested on Ubuntu, Debian, Fedora, Arch)
  • gnome-terminal (recommended; fallback to bash if unavailable)
  • No external dependencies required

Usage

Run the Tool

python main.py

Navigation

  • Enter number - Launch lesson for that command
  • n - Next page
  • p - Previous page
  • q - Quit
  • Ctrl+C - Exit anytime

Workflow

  1. Browse 100+ commands in the paginated menu
  2. Select a command by entering its number
  3. New terminal tab opens with lesson content
  4. Practice in auto-generated lab directory
  5. Type exit to close tab and return to menu
  6. Continue learning or quit with q

Project Architecture

linux-buddy/
โ”œโ”€โ”€ main.py # Entry point
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ requirements.txt # Empty (no dependencies)
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ data/
โ”‚ โ”‚ โ””โ”€โ”€ lessons.py # Command data & lessons
โ”‚ โ”œโ”€โ”€ core/
โ”‚ โ”‚ โ”œโ”€โ”€ lab_manager.py # Lab environment setup
โ”‚ โ”‚ โ””โ”€โ”€ terminal.py # Terminal spawning
โ”‚ โ”œโ”€โ”€ ui/
โ”‚ โ”‚ โ”œโ”€โ”€ menu.py # Menu display
โ”‚ โ”‚ โ””โ”€โ”€ formatting.py # Text formatting
โ”‚ โ””โ”€โ”€ utils/
โ”‚ โ””โ”€โ”€ helpers.py # Utility functions
โ”œโ”€โ”€ tests/
โ”‚ โ”œโ”€โ”€ test_lessons.py
โ”‚ โ””โ”€โ”€ test_lab_manager.py
โ””โ”€โ”€ labs/ # Runtime directories

Troubleshooting

gnome-terminal not found: Install via sudo apt install gnome-terminal or use fallback bash mode

Permission denied: Check /tmp permissions or modify lab_dir to ./labs/ in terminal.py

Python version error: Verify Python 3.6+ with python --version

Menu display issues: Increase terminal width (minimum 80 characters) or open the tool in full screen

Lab files not created: Check write permissions in lab directory

File issues at GitHub Issues

Contributing

Fork, branch, and PR! Contributions welcome for:

  • New command lessons
  • Bug fixes
  • Documentation improvements
  • Terminal emulator support
  • Unit tests
git checkout -b feature/NewCommand
git commit -m 'Add iptables lesson'
git push origin feature/NewCommand

License

GPL-3.0 License - see LICENSE


Built by @jo4dan | Star โญ if useful! | Questions: jordannissi7@gmail.com

SEO Keywords: Linux command tutorial, ethical hacking training, interactive terminal learning, command-line practice labs, cybersecurity Linux commands, DevOps training, penetration testing reference, beginner Linux tutorial

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linux_buddy-1.0.2.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linux_buddy-1.0.2-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file linux_buddy-1.0.2.tar.gz.

File metadata

  • Download URL: linux_buddy-1.0.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for linux_buddy-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d612bfb5d8e975b384d92beda01e2ed5783c1de3e0d7d90ad3c17c9deaeb228d
MD5 69e8f9a970b9f2ccfc1c6bbec590f3ac
BLAKE2b-256 82618c6b72b5effd610d91362d63642fb38feab9da2a3cf016c4db3882ec9f66

See more details on using hashes here.

File details

Details for the file linux_buddy-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: linux_buddy-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for linux_buddy-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 987114a3372abeedd4b78c4f3005f72a707fcfed03f9b00b981f2713abbb8f08
MD5 e793dd57ee82713eddbf767de8a14bd5
BLAKE2b-256 f7f0cdcd759532ecdbb813331730184a78b5a5d9389205e370a33ef1c67a34c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page