Linux is the best-known and most-used open source operating system. Just like Windows XP, Windows 7, Windows 10, and Mac OS X, Linux is also an operating system. An operating system is a software that manages all of the hardware resources associated with your desktop or laptop.
To put it simply – the operating system manages the communication between your software and your hardware. As an operating system, Linux is system software that sits underneath all of the other software on a computer.
Linux is packaged in a form known as a Linux distribution (or distro for short) for both desktop and server use. The defining component of a Linux distribution is the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds.
Linux was originally developed for personal computers based on the Intel x86-architecture, but has since been ported to more platforms than any other operating system.
Because of the dominance of the Linux kernel-based Android OS on Smartphone’s, Linux has the largest installed base of all general-purpose operating systems.
Linux is also the leading operating system on servers and other big iron systems such as mainframe computers, and the only OS used on TOP500 supercomputers.
Course Content:
- Introduction to UNIX
- Design Philosophy
- System Components
- The Shell and Command Entry
- Documentation
- Basic User Commands
- Logging In and Logging Out
- Command Line Editing
- Navigating the File System
- Viewing and Copying Files
- Controlling the Terminal
- Sending and Receiving Mail
- Text Editing
- Types of Editors
- From ed to ex to vi
- Basic Editor Tasks with vi
- Editing Multiple Files
- Named Buffers
- vi Startup File
- UNIX Processes
- The UNIX Process Model
- Process States
- Monitoring and Controlling Processes
- The File System
- File System Organization
- File Types
- File and Directory Naming Rules and Conventions
- Commands for Navigating the File System
- Introduction to Inodes
- Ownership, Permissions, and Dates
- Manipulating Files and Links
- Manipulating Directories
- Determining Disk Usage
- Other File System Utilities
- Managing Users and Groups
- Setting Policies
- User File Management
- The /etc/passwd file
- The /etc/shadow file
- The /etc/group file
- The /etc/gshadow file
- Adding Users
- Modifying User Accounts
- Deleting User Accounts
- Working with Groups
- Setting User Environments
- Login Configuration Files
- The Linux File System
- Filesystem Types
- Conventional Directory Structure
- Mounting a File System
- The /etc/fstab File
- Special Files (Device Files)
- Inodes
- Hard File Links
- Soft File Links
- Creating New File Systems with mkfs
- The lost+found Directory
- Repairing File Systems with fsck
- The Journaling Attribute
- File and Disk Management Tools
- Linux File Security
- File Permissions
- Directory Permissions
- Octal Representation
- Changing Permissions
- Setting Default Permissions
- Access Control Lists (ACLs)
- The getfacl and setfacl commands
- SUID Bit
- SGID Bit
- The Sticky Bit
- Controlling Processes
- Characteristics of Processes
- Parent-Child Relationship
- Examining Running Processes
- Background Processes
- Controlling Processes
- Signaling Processes
- Killing Processes
- Automating Processes
- cron and crontab
- at and batch
- System Processes (Daemons)
- Working with the Linux Kernel
- Linux Kernel Components
- Types of Kernels
- Kernel Configuration Options
- Recompiling the Kernel
- System Backups
- Backup Concepts and Strategies
- User Backups with the tar Command
- System Backup Options
- The xfsdump and xfsrestore Commands
- Shell Scripting Overview
- Shell Script Fundamentals
- Bash Shell Syntax Overview
- Shell Script Examples
- Troubleshooting the System
- Common Problems and Symptoms
- Troubleshooting Steps
- Repairing General Boot Problems
- Repairing the GRUB 2 Boot Loader
- Hard Drive Problems
- Restoring Shared Libraries
- System Logs and rsyslogd
- Installation and Configuration
- Planning: Hardware and Software Considerations
- Site Planning
- Installation Methods and Types
- Installation Classes
- Partitions
- Logical Volume Manager - LVM
- File System Overview
- Swap Partition Considerations
- Other Partition Considerations
- The Linux Boot Loader: grub
- Software Package Selection
- Adding and Configuring Peripherals
- Printers
- Graphics Controllers
- Basic Networking Configuration
- Booting to Recovery Mode
- Booting and Shutting Down Linux
- Boot Sequence
- The systemd Daemon
- The systemctl Command
- Targets vs. Run Levels
- Modifying a Target
- Service Unit Scripts
- Changing System States
- Booting into Rescue Mode
- Shutdown Commands
- Managing Software and Devices
- Identifying Software Packages
- Using rpm to Manage Software
- Using yum to Manage Software
- Installing and Removing Software
- Identifying Devices
- Displaying Device and System Information (PCI, USB)
- Plug and Play Devices
- Device Configuration Tools
- Basic Networking
- Networking Services Overview
- NetworkManager Introduction
- Network Configuration Files Locations and Formats
- Enabling and Restarting Network Services with systemtcl
- Configuring Basic Networking Manually
- Configuring Basic Networking with NetworkManager
- LAMP Server Basics
- LAMP Overview
- Configuring the Apache Web Server
- Common Directives
- Apache Virtual Hosting
- Configuring an Open Source Database
- MySQL
- MariaDB
- PHP Basics
- Introduction to System Security
- Security Overview
- Maintaining System Security
- Server Access
- Physical Security
- Network Security
- Security Tools
- Port Probing with nmap
- Intrusion Detection and Prevention
- PAM Security Modules
- Scanning the System
- Maintaining File Integrity
- Using Firewalls
- Introduction to firewalld
- The Samba File Sharing Facility
- Configure Samba for Linux to Linux/UNIX File Sharing
- Configure Samba for Linux to Windows File Sharing
- Use the smbclient Utility to Transfer Files
- Mount/Connect Samba Shares to Linux and Windows Clients
- Networked File Systems (NFS)
- Using NFS to Access Remote File Systems
- Configuring the NFS Server
- Configuring the NFS Client
- Exporting File Systems from the NFS Server to the NFS Client