Linux Basics: From Zero to CLI Hero
Linux Basics: From Zero to CLI Hero
Welcome to the ultimate beginner's guide to Linux! This comprehensive 80-lesson course is designed to take students with absolutely no prior Linux experience (Zero) and transform them into proficient Command Line Interface (CLI) users (Hero). We will meticulously cover the core philosophy, installation, file system hierarchy, essential commands, user management, permissions, system monitoring, networking basics, and introductory shell scripting. By the end of this journey, you will be completely comfortable navigating, managing, and troubleshooting any Linux system, setting a strong foundation for future career paths in IT, DevOps, and programming.
Lessons
- 1. What is Linux? The Kernel and Philosophy
- 2. Understanding the Difference: Kernel vs. OS vs. Distribution
- 3. Choosing Your Distribution: Desktop vs. Server Focus
- 4. Preparing for Installation: Understanding Virtual Machines (VMs)
- 5. Setting Up the Virtualization Environment (VirtualBox)
- 6. Downloading the Ubuntu ISO and Attaching it to the VM
- 7. Installing Ubuntu Desktop: The Guided Walkthrough
- 8. First Boot and Desktop Environment Overview (GNOME)
- 9. Introducing the Command Line Interface (CLI)
- 10. Understanding the Filesystem Hierarchy Standard (FHS)
- 11. The Shell and Your First Basic Commands (`echo`, `date`)
- 12. Locating Yourself: The `pwd` Command
- 13. Listing Contents: The Basic `ls` Command
- 14. Advanced `ls`: Using Options and Flags (`-l`, `-a`)
- 15. Viewing Sizes and Directory Depth (`-h`, `-R`)
- 16. Navigating the Filesystem: The `cd` Command
- 17. Creating Directories: The `mkdir` Command
- 18. Creating Empty Files: The `touch` Command
- 19. Viewing File Content: The `cat` and `head` Commands
- 20. Viewing File Content: The `tail`, `more`, and `less` Commands
- 21. Copying Files and Directories: The `cp` Command (Part 1)
- 22. Copying Directories: The `cp -r` Command (Part 2)
- 23. Moving and Renaming: The `mv` Command
- 24. Deleting Files: The `rm` Command (Safety First)
- 25. Deleting Directories and Contents: `rm -r` (The Danger Zone)
- 26. Utilizing Wildcards and Globbing (`*`, `?`)
- 27. Advanced Wildcards: Character Sets (`[]`) and Negation
- 28. Determining File Type: The `file` Command
- 29. Searching the System: The `find` Command (Basic)
- 30. Advanced `find` Command: Size, Time, and Execution
- 31. The `locate` Command vs. `find`
- 32. Understanding Users and Groups
- 33. Analyzing Permissions: The 10-Character String
- 34. Changing Permissions: Understanding Octal Notation (Numeric)
- 35. Changing Permissions: Using Symbolic Notation (UGO)
- 36. Changing Ownership: The `chown` Command
- 37. Changing Group Ownership: The `chgrp` Command
- 38. Understanding the `umask` (Default Permissions)
- 39. Special Permissions: SUID, SGID, and the Sticky Bit (Part 1)
- 40. Special Permissions: SUID, SGID, and the Sticky Bit (Part 2)
- 41. Managing Users: Adding New Accounts (`useradd`)
- 42. Managing Users: Deleting Accounts (`userdel`)
- 43. Managing Users: Modifying Existing Accounts (`usermod`)
- 44. Managing Groups: Creating, Deleting, and Modifying
- 45. Securing Accounts: Setting Passwords (`passwd`)
- 46. Deep Dive: The `/etc/passwd` File Structure
- 47. Security Focus: The `/etc/shadow` File
- 48. The `/etc/group` File and Secondary Groups
- 49. Utilizing `sudo` for Elevated Privileges
- 50. Switching Users: The `su` Command
- 51. Introduction to Redirection: STDIN, STDOUT, STDERR
- 52. Input and Error Redirection
- 53. Combining Commands with Pipes (`|`)
- 54. Searching Text Patterns: The `grep` Command (Basic)
- 55. Advanced `grep`: Line Numbers, Counting, and Negation
- 56. Filtering Data: The `sort` and `uniq` Commands
- 57. Extracting Data: The `cut` Command
- 58. Basic Stream Editing with `sed` (Substitution)
- 59. Introduction to `awk` (Field Processing)
- 60. Viewing System Information (`uname`, `hostname`)
- 61. Checking Disk Usage (`df` and `du`)
- 62. Checking Memory and System Load (`free`)
- 63. Understanding Processes: The `ps` Command
- 64. Interactive Process Monitoring: `top` and `htop`
- 65. Managing Processes: Foreground, Background, and Jobs
- 66. Stopping Processes: The `kill` Command and Signals
- 67. Introduction to Package Management (APT)
- 68. Using `apt`: Updating, Installing, and Removing Software
- 69. Basic Networking Concepts (IP, Ports, DNS)
- 70. Checking Network Status: `ip a` and `ip route`
- 71. Testing Connectivity: The `ping` and `traceroute` Commands
- 72. Checking Open Ports and Connections (`ss` and `netstat`)
- 73. Secure Remote Access: The `ssh` Command (Basics)
- 74. Secure File Transfer: `scp` and `sftp`
- 75. Introduction to Firewalls (`ufw`)
- 76. Archiving Files: The `tar` Command (Basics)
- 77. Compression Tools: `gzip` and `bzip2`
- 78. Combining Archiving and Compression (`tar` extensions)
- 79. Introduction to Shell Scripting: Shebang and Variables
- 80. Writing Your First Simple Shell Script (Backup Example)