Skip to content
PotatoScript edited this page May 18, 2025 · 3 revisions

🐧 What Is Ubuntu?

Ubuntu is a free and open-source Linux operating system. It's one of the most popular Linux distributions in the world, especially for:

  • Beginners learning Linux
  • Software developers
  • Servers and cloud computing
  • WSL (Windows Subsystem for Linux) users on Windows

🔧 What Can You Do with Ubuntu?

  • Run Linux command-line tools
  • Develop software in Python, C/C++, Node.js, etc.
  • Use Git, SSH, and Docker
  • Host web servers (Apache, Nginx)
  • Automate tasks with Bash scripts
  • Do things Windows normally can’t

💻 Why Is It Used in WSL (Windows)?

In Windows 10/11, Ubuntu is often used inside WSL (Windows Subsystem for Linux) so developers can:

  • Use Linux tools without dual-booting
  • Run Docker Desktop (Docker uses WSL2 and Ubuntu internally)
  • Run scripts and automation tools easily

📦 What's Inside Ubuntu?

Some key things included:

Component Purpose
Bash Linux command-line shell
APT Package manager to install software
Python Comes pre-installed
Systemd Controls services and startup (in full Linux)
Docker compatibility Used often for containers

🤓 Who Makes Ubuntu?

Ubuntu is developed by a UK-based company called Canonical Ltd.


🧪 Quick Example (in WSL):

sudo apt update
sudo apt install python3
python3 --version

Ubuntu Cheat Sheets:

Title Remark
Installation Step-by-step guide on installing Ubuntu on WSL2, Virtual Machines, or bare-metal hardware.
Basic Command Fundamental Linux commands for navigating the filesystem, managing directories, and executing essential tasks.
File Management Instructions on creating, copying, moving, deleting, and viewing files and directories using command-line utilities.
User Management Managing user accounts, groups, permissions, and authentication settings within Ubuntu.
Permissions Explanation of file and directory permissions, ownership, and access control mechanisms.
Process Management Monitoring and controlling system processes, jobs, and background tasks using command-line tools.
Networking Configuring and troubleshooting network interfaces, checking connectivity, and managing network services.
Package Management Installing, updating, removing, and managing software packages using APT, Snap, and Flatpak.
System Monitoring Tools for tracking CPU, memory, disk usage, and overall system performance in real-time.
Disk Management Partitioning, formatting, mounting, and monitoring storage devices and disk space.
Services & Daemons Managing system services, background processes, and startup programs using systemd.
Firewall & Security Configuring Ubuntu’s firewall, securing SSH access, and implementing best security practices.
Environment Variables Setting, modifying, and managing environment variables for system and user sessions.
Shell Scripting Writing and executing Bash scripts to automate repetitive tasks and streamline system operations.
Cron Jobs & Automation Scheduling and automating tasks using cron jobs, systemd timers, and task automation tools.
Docker & Containers Deploying and managing containerized applications using Docker, Podman, and Kubernetes.
Virtualization Running virtual machines on Ubuntu using KVM, QEMU, VirtualBox, and Vagrant.
Git & Version Control Managing code repositories, version control workflows, and collaboration using Git.
Python & Development Setting up Python, virtual environments, package management, and development tools.
Node.js & JavaScript Installing Node.js, managing dependencies with npm/yarn, and running JavaScript applications.
Database Management Installing and managing databases such as MySQL, PostgreSQL, SQLite, and MongoDB.
System Backup & Recovery Strategies for backing up, restoring, and recovering system data and configurations.
Remote Access & SSH Securely connecting to remote machines using SSH, SCP, Rsync, and session management tools.
Logging & Debugging Monitoring system logs, troubleshooting errors, and debugging applications effectively.
Performance Tuning Optimizing system performance, tuning kernel parameters, and managing resource allocation.
Compiling Software Building software from source using compilers like GCC, Clang, Make, and CMake.
Linux Kernel Management Understanding and managing the Linux kernel, including updates, modules, and custom builds.

Title Remark/code
Installation Install Ubuntu on WSL2 on Windows 10
Basic Command echo, ls, cd, cd -, pwd, mkdir

Clone this wiki locally