The Linux shell is one of the most powerful tools available on any computer system—yet many users are unaware of its full capabilities. With just a few simple commands, you can solve complex, real-world problems and automate everyday tasks with ease.
This course is designed to help you harness the full potential of shell scripting through practical, real-world examples. You'll start with the fundamentals, learning basic shell commands and how to use them to manipulate files and directories. As you progress, you’ll explore more advanced topics such as text processing, web interactions, system backups, performance monitoring, and essential system administration tasks.
Whether you're a beginner or looking to refine your skills, this course will show you how to combine shell commands to create efficient, powerful solutions to common challenges in a Linux environment.
Who should take this Course?
The Linux Shell Scripting Online Course is ideal for system administrators, DevOps engineers, IT professionals, and developers who want to automate tasks and manage systems efficiently using shell scripts. It’s also suitable for computer science students and anyone working in a Linux environment. Basic knowledge of Linux commands and file systems is recommended to get the most out of this course.
Course Curriculum
Shell Something Out
Printing in the Terminal EDIT
Playing with Variables and Environment Variables EDIT
Function to Prepend to Environment Variables EDIT
Math with the Shell EDIT
Playing with File Description and Redirection EDIT
Arrays and Associative Arrays EDIT
Visiting Aliases EDIT
Grabbing Information about the Terminal EDIT
Getting and Setting Dates and Delays EDIT
Debugging the Script EDIT
Functions and Arguments EDIT
Reading the Output of a Sequence of Commands EDIT
Reading n Characters without Pressing the Return Key EDIT
Running a Command Until It Succeeds EDIT
Field Separators and Iterators EDIT
Comparisons and Tests EDIT
Have a Good Command
Concatenating with cat EDIT
Recording and playingback of terminal sessions EDIT
Finding files and file listing EDIT
Playing with xargs EDIT
Translating with tr EDIT
Checksum and Verification EDIT
Cryptographic Tools and Hashes EDIT
Sorting Unique and Duplicates EDIT
Temporary File Naming and Random Numbers EDIT
Splitting Files and Data EDIT
Slicing Filenames Based on Extension EDIT
Renaming and Moving Files in Bulk EDIT
Spell Checking and Dictionary Manipulation EDIT
Automating Interactive Input EDIT
Making Commands Quicker by Running Parallel Processes EDIT
File In, File Out
Generating Files of any Size EDIT
The Intersection and Set Difference (A-B) on Text Files EDIT
Finding and Deleting Duplicate Files EDIT
Working with File Permissions, Ownership, and the Sticky Bit EDIT
Making Files Immutable EDIT
Generating Blank Files in Bulk EDIT
Finding Symbolic Links and Their Targets EDIT
Enumerating File Type Statistics EDIT
Using Loopback Files EDIT
Finding the Difference between Files, Patching EDIT
Using Head and Tail for Printing the Last or First Ten Lines EDIT
Listing Only Directories – Alternative Methods EDIT
Fast Command-Line Navigation Using pushd and popd EDIT
Counting the Number of Lines, Words and Characters in a File EDIT
Printing the Directory Tree EDIT
Texting and Driving
Using Regular Expressions EDIT
Searching and mining text inside a file with grep EDIT
Cutting a File Column-Wise with Cut EDIT
Using sed to Perform Text Replacement EDIT
Using awk for Advanced Text Processing EDIT
Finding Frequency of Words Used in a Given File EDIT
Compressing or Decompressing JavaScript EDIT
Merging Multiple Files as Columns EDIT
Printing the nth Word or Column in a File or Line EDIT
Printing Text between Line Numbers or Patterns EDIT
Printing Lines in the Reverse Order EDIT
Parsing E-mail Address and URLs from Text EDIT
Removing a Sentence in a File Containing a Word EDIT
Replacing a Pattern with Text in all Files in a Directory EDIT
Text Slicing and Parameter Operations EDIT
Tangled Web? Not at All!!
Downloading from a Web Page EDIT
Downloading a Web Page as Plain Text EDIT
A Primer on cURL EDIT
Parsing Data from a Website EDIT
Image crawler and downloader EDIT
Web photo album generator EDIT
Creating a "define" Utility by Using the Web Backend EDIT
Finding Broken Links in a Website EDIT
Tracking changes to a website EDIT
Posting to a Web Page and Reading Response EDIT
The Backup Plan
Archiving with tar EDIT
Archiving with cpio EDIT
Compressing data with gzip EDIT
Archiving and Compressing with Zip EDIT
Faster Archiving with pbzip2 EDIT
Creating filesystems with Compression EDIT
Backup Snapshots with rsync EDIT
Version Control-Based backup with Git EDIT
Creating entire disk images using fsarchiver EDIT
The Old-Boy Network
Let Us Ping! EDIT
Listing All the Machines Alive on a Network EDIT
Running Commands on a Remote Host with SSH EDIT
Transferring Files through the Network EDIT
Password-Less Auto-Login with SSH EDIT
Port Forwarding and Mounting Remote Drives EDIT
Network Traffic and Port Analysis EDIT
Creating Arbitrary Sockets EDIT
Put on the Monitors Cap
Monitoring Disk Usage EDIT
Calculating the Execution Time for a Command EDIT
Collecting Information about Logged-in Users, Boot Logs, and Boot Failures EDIT
Listing the Top ten CPU Consuming Processes in an Hour EDIT
Monitoring Command Outputs with Watch EDIT
Logging Access to Files and Directories EDIT
Logfile Management with logrotate EDIT
Logging with syslogd EDIT
Monitoring User Logins to Find Intruders EDIT
Remote Disk Usage Health Monitor EDIT
Finding Out Active User Hours on a System EDIT
Measuring and Optimizing Power Usage EDIT
Monitoring Disk Activity EDIT
Checking Disks and Filesystems for Errors EDIT
Administration Calls
Killing Processes and Send or Respond to Signals EDIT
Sending Messages to User Terminals EDIT
Gathering System Information EDIT
Using /proc for Gathering Information EDIT
Scheduling with cron EDIT
Writing and Reading the MySQL Database from Bash EDIT