
Learn practical Linux bash shell scripting through real life examples, moving from basic to advanced techniques and automating daily, tedious tasks.
Explore the complete Linux bash scripting course syllabus, from lab setup and virtual machines to bash scripting basics, standards, and real life scripting examples.
Develop practical Linux Bash shell scripting skills by following real life examples and learning to automate daily tasks; practice patiently, troubleshoot calmly, and revisit problems tomorrow to build mastery.
Contact the instructor by text or email, and handle Udemy's early rating prompts by skipping if not ready to rate five stars, with a reminder at course end.
This lab setup guides you through building a Linux lab using Oracle VirtualBox, installing a virtual machine, and preparing a CentOS/Red Hat environment to practice Bash scripting.
Discover Oracle VirtualBox, a free, open source hypervisor for x86 computers that lets you run multiple operating systems on one hardware, including Windows, Mac, and Linux.
Download and install Oracle VirtualBox from virtualbox.org, choose Windows host, accept prompts, and finish the setup wizard. Then launch VirtualBox to create a new Linux virtual machine for lab practice.
Create a Linux virtual machine in VirtualBox, setting 64-bit Linux, allocate memory, create a 10 GB dynamically allocated VDI disk, and enable virtualization in BIOS if needed.
Download the CentOS 7 ISO, create a virtual machine, install CentOS 7 with GUI, and configure root and user accounts via the desktop terminal.
Learn to download the CentOS 8 ISO and install it in Oracle VirtualBox. Explore configuring the GUI server, network settings, hostname, root and user accounts, and completing the first boot.
Create a virtual machine, download the CentOS 9 stream ISO, and install CentOS 9 stream with VirtualBox or VMware Workstation, then configure networking.
Explore shell scripting basics and how the kernel interacts with the shell and hardware. Learn about Korn shell, Bash, and C shell, starting a shell, and running scripts.
Learn how the Linux kernel interfaces hardware and software, receiving commands from the shell and passing them to hardware, forming the operating system.
Explain how a Linux shell serves as the interface between users and the kernel, enabling you to run commands in a terminal or command line interface and inspect your environment.
Discover what a shell script is and how the shell runs commands in sequence, using copy and move operations as examples, on Linux command line.
Explore Linux shells such as bash, sh, csh, tcsh, and korn shell, their features and compatibility, and how to view them with /etc/shells.
Learn to start and switch shells, verify the active shell with echo $0, and check available shells with cat shells, including pwd and ls -l usage in Linux bash scripting.
Learn to run a shell script using absolute and relative paths, including /home/youruser/scripts/xyz-script and ./xyz-script from the current directory.
Explore essential scripting standards, including naming conventions, directory structure, and file permissions, then learn shell script formats, execution order, and variables.
Adopt a clear script naming convention by creating a dedicated scripts directory, naming files by function or date, and using the proper shell extension (bash, korn shell, etc.).
Learn how to assign proper executable permissions to scripts using chmod a+x, understand rwx bits for user, group, and others, and why default files lack execute rights.
Learn proper shell script format by defining the shell, adding informative comments, and formatting variables and commands for readability, with emphasis on indentation and using vi or vim.
Learn how a script executes commands in strict sequence from start to finish, with commands running one, two, three in order, examples include date and cal.
Learn to create your first shell script, handle input and output, define variables, use conditionals and loops, and automate admin tasks like disk space and memory checks.
Create and run your first bash script that outputs hello world, set executable permissions, and run it from both absolute and relative paths while learning basic scripting setup.
Design and run a basic Linux shell script that prints the working directory, lists files, shows user, date, and calendar, and creates three files with touch, sequentially.
Create a script to run basic administration tasks like top, df -h, free -m, uptime, and iostat to check system health and automate routine checks.
Define variables at the start of a bash script and run them with a dollar prefix, using p, l, w, d, c for pwd, ls, whoami, date, and cal.
Learn to build a Bash input/output script using read and echo, prompt for user input, store responses in variables, and display the host name dynamically.
Learn to write bash if-then and if-else scripts, define variables, and test file existence with -e. Build real life examples that run and show outputs.
Explore bash case statements that map user choices to commands like date, ls, who, and uptime, enabling interactive scripts with choices and executable permissions.
Learn how for loop scripts automate repetitive tasks in Linux Bash, iterating over numbers or items to run commands, create multiple files, and manage executable permissions.
Explore do-while scripts in bash that repeat a block while a condition is met, with a countdown example using sleep and echo and exiting at the target time.
Master exit status in bash, where zero indicates success and non-zero codes signal errors, and apply it in shell scripting with echo $?, if statements, and real-world examples.
Explore real life linux bash shell scripting by examining scripts that automate daily tasks in system administration and engineering, with practical real world examples.
Learn to access data from files with bash scripting, filtering log messages for errors, warnings, and failures. Automate data extraction, redirect outputs to files, and format results for admin tasks.
Learn to write bash scripts that check remote server connectivity with ping, using if-else, do-while, variables, loops, and a host file to ping multiple IPs.
Schedule shell scripts with cron jobs to run at set times. Learn to redirect output to files and notify users by email when executions occur.
Create a shell script from scratch to delete or rename files older than 90 days, test with timestamped files, and schedule via cron for automation.
Learn to back up critical Linux directories like /etc and /var with tar and gzip, then automate the process in a script that verifies, archives, and securely transfers the backup.
Explore practical Bash for loops for the file system by counting, creating multiple files with dynamic names, and assigning permissions, with user input and timing demonstrations.
Master for loops to rename txt files and verify file existence on different servers, with practical, real-life bash scripting examples.
Write a bash script to copy files to multiple remote hosts using a for loop and scp. Learn to source hostnames from a file to automate transfers across many servers.
Identify orphaned home directories by matching /home contents against user entries in /etc/passwd, using a test script run as root to report orphans and justify deletions.
Learn to list users logged in by date with bash scripting, using last, date, and grep, and add user input for specific day or month, plus optional cron automation.
Build a central logging workflow that tails /var/log/messages, filters for error keywords, and writes matches to a file; optionally email alerts via a separate script and cron job.
Automate Linux user account creation with five Bash scripts that check for existing users, add descriptions, handle custom user IDs, and combine into a full workflow.
Identify inactive users with lastlog and lastlog -B 90, filter system accounts, then automate disabling with a for loop script or an argument-based script using usermod -L.
Check running processes, identify zombie or orphaned ones, and terminate them with Bash scripting using ps -f, grep, awk, and optional xargs or a for loop.
Master disk space monitoring in Linux using df -h, filtering with grep and awk, and scripting with for, while, or one-liner checks to alert on thresholds.
Learn to build a file-count script that uses ls -l and wc -l to compare against a defined threshold, then notify via email or cron-driven workflows.
Create a system inventory with bash scripts that collect host, IP address, and description, validate entries in a database, and support adding or deleting records via a case statement.
Automate the predefined header information for new bash scripts, including the shebang, author, date, description, and modification fields, by using a meta script that generates executable scripts.
Use online help to improve Linux bash scripting: search precisely with engines like Google, ask questions, compare sources, and document solutions while also helping others.
Celebrate mastering complete linux bash shell scripting with real life examples as you complete the course.
Explore additional resources to deepen your Linux bash shell scripting skills through real-life examples.
Troubleshoot putty connectivity issues to access Linux VM, covering Oracle VirtualBox NIC settings, host-only vs bridged adapters, network interface status, and ensuring SSH daemon runs.
Explore the root account in Linux, the powerful admin who can create, modify, or delete accounts and alter system configuration files; Linux is case sensitive and file names avoid spaces.
Explore the seven Linux file types, regular files, directories, links, device files, sockets, named pipes, and block devices, and how to identify them from the ls -l first column.
Explore how wild cards in Linux use the asterisk, question mark, and brackets to match patterns, create and delete multiple files with brace expansion, and streamline commands.
Discover soft links and hard links in Linux, and how to create them with ln and ln -s, including that soft links vanish with the source while hard links persist.
Learn how Linux assigns file ownership to a user and a group, and how to change ownership with chown and change group with chgrp, including recursive options.
Master tab completion to auto-fill commands, files, and directories, reducing typing and speeding Linux workflows. Use the up arrow (and down arrow) to cycle through and re-run previous commands.
Master combining multiple files into one and splitting large files into smaller chunks with Linux commands, including 300-line splits, for efficient transfer and log file handling.
Learn to use the vi editor to create and edit Linux files, switch between insert and command modes, delete text, save, quit, search, replace, and navigate efficiently.
Explore the sed command for substituting text, deleting lines, removing empty lines, replacing tabs with spaces, and applying global changes, with in-place edits and practical examples.
Master Linux system utility commands such as date, uptime, host name, uname -a, which, pwd, cal, bc, and ls -l, and learn binary locations in /usr/bin.
Discover essential terminal commands like clear, exit, and script to manage your shell sessions, log activity, and troubleshoot by recording every command and output.
Learn to create and use Linux aliases to shorten long commands, chain tasks like pwd and ls, display directories with grep, and safely escape variables while managing and removing aliases.
Configure Linux nic bonding to achieve high availability and throughput by aggregating two nics into bond0 using mode five transmit load balancing, with master and slaves, then restart the network.
Explore essential Linux file transfer commands including FTP, SCP, and rsync, and the use of cron for backups, with practical tips on troubleshooting and daemon status.
Explore raid, the redundant array of independent disks, which provides redundancy and speed across disks, covering raid 0, 1, and 5 and their parity.
Discover facts about information technology, including job growth, salary ranges, outsourcing trends, and pathways through certifications for entering the information technology field.
Compare Red Hat and CentOS 5, 6, and 7, noting Red Hat support versus CentOS community support, and the move from legacy tools to systemctl, yum, and nmcli.
Learn practical Linux hardening techniques to secure accounts, remove unused packages, disable unnecessary services, audit listening ports, and strengthen SSH with firewall and SELinux controls, plus timely updates.
Discover how SELinux, the security-enhanced Linux kernel module, enforces mandatory access control through labeling and type enforcement, and manage its modes, booleans, and policies for secure servers.
Learn to troubleshoot Linux system performance by identifying bottlenecks—cpu, memory, disk, network, hardware—and master key commands like df, du, top, iostat, lsof, tcpdump, and more.
Learn how virtualization uses a hypervisor to run multiple virtual machines on one host. Explore terms like virtual machine, virtual desktop, snapshot, clone, and host across VMware and Hyper-V contexts.
Explore VMware virtualization fundamentals, including ESXi hypervisor, vCenter and vSphere, and how clusters, hosts, and VMs, storage, networking, and monitoring are managed.
Explore the bonus section of the complete Linux Bash shell scripting course, featuring practical tips and real life examples to strengthen your Bash scripting skills.
Welcome to our comprehensive course on Linux Bash Shell Scripting, tailored for those with a foundational understanding of Linux who are eager to enhance their Linux Command Line and shell scripting skills. In this course, we explore the practical aspects of Linux bash, focusing extensively on bash script Linux techniques and Linux bash shell script applications.
Through this training, you'll gain hands-on experience with various bash scripts, each rooted in real-life scenarios. This approach not only makes learning more enjoyable for hobbyists but also equips aspiring Linux system admins with vital shell scripting abilities. Additionally, experienced Linux engineers will find this course a valuable opportunity to consolidate their command line and bash scripting expertise.
With the Complete Linux Bash Shell Scripting with Real Life Examples course, you'll master key concepts in shell scripting, from script automation and process management to advanced command line techniques. This course dives deep into essential Linux commands, text processing, and control structures, giving you the skills to create scripts that automate repetitive tasks and enhance system efficiency. Designed for Linux enthusiasts, system administrators, and DevOps professionals, this course combines real-life examples with best practices, providing a strong foundation for tackling complex scripting challenges and optimizing Linux environments. By the end, you’ll be ready to apply your scripting knowledge to streamline workflows and increase productivity across diverse Linux systems.
Join us as we explore the fascinating world of bash and Linux bash script through real-life examples, ensuring that you acquire skills that are both practical and relevant in today's tech-driven landscape.
In this training we will cover the following:
Section 1 – (Lab Setup)
· What is Virtual Box?
· Downloading and installing Virtual Box
· Creating first virtual machine
· Linux installation
Section: 2 – (Shell Scripting Basics)
· What is Kernel?
· What is a Shell?
· Shell Scripting?
· Type of Shells
· Starting a Shell
· How to Run a Shell Script
Section: 3 – (Scripting Standards)
· Naming Convention
· Script File Permissions
· Shell Script Format
· Sequence of Script Execution
Section: 4 – (Basic Shell Scripts)
· Creating 1st script
· Script to run basic tasks
· Defining variable
· Input/output script
· Conditions/If else statement scripts
· Case statement scripts
· For loop scripts
· Do-while scripts
· Exist Status
· Handouts
Section: 5 – (Real Life Scripts)
· Accessing data from files
· Check remote servers connectivity
· Script for scheduling and notification
· Script to delete old files
· Backup filesystem
· For loops scripts for file system – 1
· For loops scripts for file system – 2
· Copy files to remote hosts
· User directory assignment
· List of users logged in by date
· Central logging (rsyslog) script
· Script for user account management
· Disable inactive users
· Check process status and killing it
· Status on total number of files
· Script to create system inventory
· Getting online help
· Homework
Additional Resources
· This section has so many additional Linux related lectures
Here is the testimonial from my students:
To all of you that are looking for a REALLY GOOD LINUX course, THIS IS IT, SERIOUSLY I promise you won't find a course on LINUX here that is THIS GOOD. -- T.J. Marstiller (Udemy Student)
Imran is a very knowledgeable and engaging instructor. As others have said, you can tell that he is not just trying to sell a course, but that he is invested in giving his students a strong career foundation with a positive and approachable attitude. He is also entertaining with his use of pop culture and practical work examples. It really feels like you're in a classroom with him. I'm taking this course mainly as a hobbyist, but got a lot from it already. The homework assignments, quizzes, and handouts help reinforce the material. -- Raymond B. (Udemy Student)
Main thing about course is its simplicity and the hierarchy. Design is very good and easy which helps to understand things better. -- Akash Garg (Udemy Student)
I just love the teaching ad the learning experience I am getting -- Jacob Samba (Udemy Student)
Imran Afzal might be my favorite teacher I've EVER had. He is funny, and engaging. The course was easy to follow, and with no experience starting I am now extremely comfortable with Linux, and actually really like it. He does make you do your googles, but this is not a bad thing especially considering the nature of IT and documentation to solve your own problems. I highly recommend. -- Vanessa Diaz-Goumond (Udemy Student)
The course is run very well and I really like the handouts and the homework that is assigned. The homework helps me learn and continue with the learning process even when adult life is still progressing forward. -- Thomas Rogers (Udemy Student)
Such an amazing instructor. Imran must have put in a lot of effort in structuring the course and taking the student step by step, he takes his time in explaining everything, from what Linux is, how to down load it, coding, etc. I have taken other courses from Imran. I am a student for life. Keep it up and please keep preparing more courses for please like us who can benefit from your way of teaching, knowledge and experience. Thank you. -- Ali Shiekh (Udemy Student)
In the first place I say a big thank you to the instructor for making such a great course. I was afraid to learn Linux. I now feel very comfortable with Linux. I have understood both the concept behind and the practical as well. I would recommend every one who is NEW to Linux and wants to grab it once and for all without wasting time to go ahead and ENROLL. You will not regret it. I would like the instructor to do same for WINDOWS SERVER ADMIN., I don't seem to find any better and beginner oriented course out there that could be matched with this course. To me, it is the BEST Linux Course on Online. I just started some real world projects with Linux after this great course, I was new to Linux and in just a month I am on the command line always playing. -- Opoku Bright (Udemy Student)
I genuinely look forward to additional courses in the future. This has been so informative. You hear the name oracle all the time, but this was well put in layman’s terms -- Atoofa Hasan (Classroom Student)
Imran Afzal eats, breathes and sleeps Linux! He really knows his stuff. I feel like he has brought me from a novice level education to masters level in a short time period. Anyone who is looking to get a job in Linux should definitely take this course. -- TJ Walker (Udemy Student)