Linux Shell Scripting Online Course
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
- User Administration Script EDIT
- Bulk Image Resizing and Format Conversion EDIT
- Taking Screenshots from the Terminal EDIT
- Managing Multiple Terminals from One EDIT
- Gathering Information about Processes