Skip to content

HasanBakar/linux-operating-system-Teaching-First-Batch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

linux-operating-system-Teaching-First-Batch

Mastering Linux: A Practical and Comprehensive Course

Embark on a journey to master Linux with this thoughtfully designed course, perfect for both beginners and professionals. Starting with the basics, you'll learn essential commands, file management, and navigation. As you progress, you'll dive deeper into topics like process management, user permissions, text processing, and networking, building a strong foundation in Linux system administration.

Each module is crafted to balance theory with hands-on practice. You'll gain practical experience in tasks such as managing services, handling filesystems, and automating workflows through shell programming. Advanced topics like package management, boot process analysis, and containerization (including Docker) are also covered, preparing you for real-world challenges.

To ensure an engaging and effective learning experience, every module includes brainstorming questions and exercises that encourage critical thinking and problem-solving. Whether you're starting your Linux journey or enhancing your expertise for roles in DevOps, server management, or IT administration, this course equips you with the knowledge and skills to succeed.

Join us and take the first step toward becoming a Linux expert!

A structured breakdown of the concepts from the Linux teaching roadmap with modules and proposed self-proven brainstorming practice questions for each.


Module 1: Navigation Basics

  • Topics:

    • Basic Commands
    • Moving Files/Directories
    • Creating & Deleting Files/Dirs
    • Directory Hierarchy Overview
  • Practice Questions:

    1. How would you list all files in a directory, including hidden ones?
    2. Write a command to move a file from one directory to another.
    3. Create a nested directory structure (/home/user/documents/reports/2024). image

Module 2: Editing Files

  • Topics:

    • Vim
    • Nano
  • Practice Questions:

    1. Open a file in Vim, make changes, and save it without exiting the editor. What command would you use?
    2. How do you search for a specific word in Nano?

Module 3: Shell and Other Basics

  • Topics:

    • Command Path
    • Environment Variables
    • Command Help
    • Redirects
    • Super User
  • Practice Questions:

    1. What is the PATH variable, and how would you add a directory to it?
    2. Write a command to redirect the output of a script to a file.

Module 4: Working with Files

  • Topics:

    • File Permissions
    • Archiving and Compressing
    • Copying and Renaming
    • Soft Links/Hard Links
  • Practice Questions:

    1. Explain the difference between chmod 777 and chmod 755.
    2. How would you create a compressed tarball of a directory?

Module 5: Text Processing

  • Topics:

    • Tools: cut, paste, head, tail, sort, grep, etc.
  • Practice Questions:

    1. Write a command to extract the first 10 lines of a log file.
    2. Use grep to find all lines containing the word "error" in a file.

Module 6: Server Review

  • Topics:

    • Uptime and Load
    • Authentication Logs
    • Services Running
    • Available Memory/Disk
  • Practice Questions:

    1. Check the uptime of a server using a command.
    2. List all running services and their statuses.

Module 7: Process Management

  • Topics:

    • Listing/Finding Processes
    • Killing Processes
    • Process Priorities
  • Practice Questions:

    1. Use a command to find a running process by its name.
    2. Change the priority of a process to the highest possible value.

Module 8: User Management

  • Topics:

    • Users and Groups
    • Managing Permissions
    • Create/Delete/Update Users
  • Practice Questions:

    1. Create a new user with a home directory and specific permissions.
    2. List all groups a user belongs to.

Module 9: Package Management

  • Topics:

    • Install/Remove/Upgrade Packages
    • Finding and Installing Packages
    • Listing Installed Packages
  • Practice Questions:

    1. Install a package using your system’s package manager.
    2. Find out which version of a specific package is installed.

Module 10: Disks and Filesystems

  • Topics:

    • Inodes
    • Filesystems
    • Mounts
    • Adding Disks
  • Practice Questions:

    1. Display the filesystem usage of your current system.
    2. Mount a new disk to a directory.

Module 11: Booting Linux

  • Topics:

    • Logs
    • Boot Loaders
  • Practice Questions:

    1. Check the logs for a specific service during boot.
    2. Explain the purpose of the GRUB boot loader.

Module 12: Networking

  • Topics:

    • TCP/IP Stack
    • Subnetting
    • File Transfer
    • DNS Resolution
  • Practice Questions:

    1. Ping a server and interpret the results.
    2. Use netstat to list all open network connections.

Module 13: Shell Programming

  • Topics:

    • Variables
    • Loops
    • Conditionals
  • Practice Questions:

    1. Write a script that prints numbers from 1 to 10 using a loop.
    2. Write a conditional script that checks if a directory exists.

Module 14: Containerization

  • Topics:

    • Container Runtime
    • Docker Basics
    • cgroups
  • Practice Questions:

    1. List all running containers on a system.
    2. Explain the difference between an image and a container.

These concepts and questions will help your batch understand Linux deeply while engaging in practical, hands-on problem-solving. Let me know if you need detailed answers or additional support!