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.1.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.1-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: linux_buddy-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4ca09d4c81b75fe6560aa97061c354ec3dd7484e89d7753805ac46105aad4616
MD5 c023b43bdb48d1af31841167bf3729b3
BLAKE2b-256 595b81a552a9f82cfcbd1cf22f8914dca05360e6fd1895f7b6eecff3c3f4e7b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: linux_buddy-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 24.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 86afcab0ac07ed8aee5bd2025ee1a6f4a5e5da1bd3ff80f4462e55f6e855c2e5
MD5 0458fb263653353bfc40e12202cf543c
BLAKE2b-256 2ccac8745ce599453a4398785d98c85a05393c12f04cacb57fed456b033d6110

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