lesson Introduction to Linux

Introduction to Linux

Linux History

Linux was created by Linus Torvalds in 1991 as a free and open-source alternative to UNIX. Today, it powers everything from smartphones to supercomputers.

Key Milestones

  • 1991: First Linux kernel release
  • 1992: Linux released under GNU GPL
  • 1993: Debian and Red Hat distributions created
  • 2005: Git version control system developed for Linux kernel

Ubuntu

  • User-friendly interface
  • Large community support
  • Extensive software repository
  • Regular updates every 6 months

Red Hat Enterprise Linux (RHEL)

  • Enterprise-grade stability
  • Long-term support
  • Commercial support available
  • Popular in business environments

CentOS

  • Free alternative to RHEL
  • Community-driven development
  • Ideal for servers and production environments

Basic Setup and Installation

System Requirements

  • Minimum 2GB RAM (4GB recommended)
  • 20GB hard disk space
  • 64-bit processor
  • Internet connection for updates

Installation Steps

  1. Download distribution ISO
  2. Create bootable USB drive
  3. Boot from USB
  4. Follow installation wizard
  5. Configure basic settings

The Shell Environment

What is the Shell?

  • Command-line interpreter
  • Interface between user and kernel
  • Executes commands and scripts

Common Shell Types

  • Bash (Bourne Again Shell) - Default in most distributions
  • Zsh (Z Shell) - Enhanced features and customization
  • Fish - User-friendly and modern shell

Basic Shell Navigation

pwd     # Print working directory
ls      # List files and directories
cd      # Change directory
man     # Access manual pages

Hands-on Practice

Exercise 1: Basic Navigation

  1. Open terminal
  2. Check current directory using pwd
  3. List files using ls -l
  4. Navigate to home directory using cd ~

Exercise 2: Shell Exploration

  1. Identify current shell using echo $SHELL
  2. View shell version using bash --version
  3. Explore shell configuration files (.bashrc, .profile)

Additional Resources

Next Steps

  • Explore basic Linux commands
  • Practice terminal navigation
  • Understand file system structure
  • Learn about user permissions