Course Description:
This course provides an introduction to the Linux operating system, covering essential concepts, commands, and practical skills for working with Linux-based systems. Students will gain hands-on experience through practical exercises and assignments.
Overview of operating systems and Linux
History and development of Linux
Linux distributions and package management
Introduction to the Linux shell
Navigating the file system
Basic file and directory operations
User accounts and groups
File permissions and ownership
Basic security practices
Working with text files using commands like 'cat', 'grep', 'sed', and 'awk'
Redirecting input and output
Compressing and archiving files using `tar`, `gzip`, `bzip2`, and `zip`
Managing files and directories efficiently
Understanding processes and jobs
Process control commands
Monitoring system performance
Package managers and software repositories
Installing, updating, and removing software
Dependency management
Network configuration and interfaces
Basic networking commands (`ping`, `ifconfig`, `netstat`, `netdiscover`,`arp-scan`)
DNS and remote connectivity (`ssh`)
Introduction to shell scripting
Writing and executing shell scripts
Control structures and variables
Managing services and daemons
Disk management and partitions
System logs and troubleshooting
Introduction to version control
Setting up and using Git for version control
Basic Git commands and workflows
Recap of key concepts
Final projects: students implement real-world tasks using Linux
Course Objectives:
By the end of this program, students should be able to:
-
Introduction to Linux: Understand the history, development, and significance of Linux in the world of operating systems.
-
Command Line Proficiency: Develop confidence in using essential command-line tools for file navigation, manipulation, and system interaction.
-
User Management and Permissions: Learn to manage users, groups, and permissions to maintain system security and access control.
-
Text Processing: Master text manipulation using commands like `grep`, `sed`, and `awk` for efficient data extraction and transformation.
-
Package Management: Gain proficiency in package managers to install, update, and remove software on different Linux distributions.
-
Networking Fundamentals: Acquire basic networking knowledge, including configuring interfaces, using essential network commands, and remote access via SSH.
-
Process Management: Learn to monitor, control, and troubleshoot processes running on a Linux system.
-
File Management and Compression: Explore techniques for efficiently managing files and directories, as well as compressing and archiving data.
-
Basic System Administration: Understand key system administration tasks like managing services, disk partitions, and system logs.
-
Version Control with Git: Introduce version control concepts and use Git for tracking changes, collaborating, and managing code.