Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Zero To Mastery

Bash Scripting: Learn Shell Scripting

via Zero To Mastery

Overview

Learn Bash Scripting from scratch, from an industry expert. You'll learn Shell Scripting fundamentals, master the command line, and get the practice and experience you need to go from beginner to being able to get hired as a DevOps Engineer, SysAdmin, or Network Engineer!
  • Learn and understand the power of shell scripting
  • Write your own Bash scripts to automate admin tasks such as data backup and restoring, email alerts, user administration, and security auditing
  • Hands-on practice with coding challenges, demos, and quizzes with solutions
  • Master command line skills needed to efficiently work with multiple programming languages
  • Learn one of the most in-demand skills for DevOps Engineers, Network Engineers, and SysAdmins
  • Have the skills and understanding of Bash to confidently apply for jobs

Syllabus

  •   Introduction
    • Bash Scripting: Learn Shell Scripting
    • Course Goals
    • Exercise: Meet Your Classmates and Instructor
    • How-to's: Speed up videos, Downloading videos, Subtitles
  •   Section 01: Intro to Bash Shell Scripting
    • Bash Aliases
    • Quiz for Bash Aliases
    • Shell and Scripts
    • Creating Your First Script and Changing the PATH
    • Quiz for Shell, Scripts and PATH
    • The Bash Shebang
    • Comments in Bash
    • Running Scripts
    • Quiz for Shebang, Comments and Running Scripts
    • Challenges: Intro to Bash
    • Unlimited Updates
  •   Section 02: Variables
    • Variables in Bash
    • Variable Expansion and Quoting
    • Environment and Shell Local Variables
    • Getting User Input
    • Quiz for Variables and User Input
    • Positional Parameters
    • Project: How to Protect Yourself from Hackers
    • Special Parameters
    • $@ vs. $*
    • Quiz for Positional Parameters
    • Challenges: Variables
  •   Section 03: Shell Expansions
    • Intro to Expansions
    • Brace Expansion: String Lists
    • Brace Expansions: Sequence Lists
    • Project: Brace Expansion
    • Exercise: Imposter Syndrome
    • Tilde, Parameter and Variable Expansions
    • Quiz for Brace and Variable Expansions
    • Command Substitution
    • Arithmetic Expansion
    • Process Substitution
    • Quiz for Command and Process Substitution and Arithmetic Expansion
    • Word Splitting
    • Filename Expansion (Globbing)
    • Quiz for Word Splitting and Globbing
    • Challenges: Shell Expansions
  •   Section 04: Shell Operation in Depth
    • Intro to Shell Operation
    • Tokenization
    • Command Identification
    • Quiz for Tokenization and Command Identification
    • Shell Expansions
    • Quote Removal
    • Redirections: Stdin and Stdout Redirections
    • Stderr Redirection
    • Quiz for Quote Removal and Redirections
    • Full Recap: Hands-on Example
  •   Section 05: Program Flow in Bash
    • If, Elif and Else Statements
    • Arithmetic Comparisons
    • Multiple Condition Tests and Nested if/then Statements
    • String Comparisons (Part 1)
    • String Comparisons (Part 2)
    • Quiz for If, Elif and Else Statements
    • Project: Testing Network Connections
    • The Case Statement
    • Menus in Bash (The Select Statement)
    • Quiz for Case and Select
    • Project: System Administration Script Using Menus
    • List of Commands
    • Running a DOS Attack Without root Access (ulimit)
    • Challenges: Flow Control
  •   Section 06: Loops in Bash
    • For Loops (Part 1)
    • For Loops (Part 2)
    • Quiz for For Loops
    • Project: Dropping a List of IP Addresses Using a For Loop
    • While Loops (Part 1)
    • While Loops (Part 2)
    • Project: Dropping a List of IP Addresses Using While and Process Substitution
    • Loops with Break
    • Loops with Continue
    • Quiz for While Loops
    • Intro to Bash Arrays
    • Arrays in Depth
    • Quiz for Arrays
    • Using the Readarray Command
    • Iterating Over Arrays
    • Quiz for Readarray
    • Project: Account Creation
    • Challenges: Loops
  •   Section 07: Functions in Bash
    • Intro to Bash Functions
    • Function's Arguments
    • Variable Scopes in Functions
    • Quiz for Functions
    • Challenges: Functions
  •   Where To Go From Here?
    • Thank You!
    • Review This Course!
    • Become An Alumni
    • Learning Guideline
    • LinkedIn Endorsements
    • Coding Challenges
  •   Appendix: Linux Installation Guide
    • Installing Ubuntu in a VM
    • Things To Do After Installing Ubuntu
    • Running a Linux Server in the Cloud
    • Securing SSH with Key Authentication
    • DigitalOcean Referral Link and Ubuntu Download Link (OVA File)
  •   Appendix: Using the VIM Editor
    • The Basics of VIM Text Editor
    • The VIM Editor In-Depth - Part 1
    • The VIM Editor In-Depth - Part 2
  •   Appendix: Cron, Anacron and Automation
    • Task Automation and Scheduling Using Cron (crontab)
    • Scheduling Tasks Using Anacron (anacron)
  •   Appendix: Netfilter and Iptables Firewall
    • Introduction to Netfilter and Iptables
    • Chain Traversal in a Nutshell
    • Iptables Basic Usage
    • Iptables Options (Flags) - Part 1
    • Iptables Options (Flags) - Part 2
    • Where Do We Write Iptables Rules
    • Setting the Default Policy
    • Deleting the Firewall
    • Filter by IP Address
    • Filter by Port
    • Intro to Stateful Firewalls (Connection Tracking)
    • Implementing Stateful Firewalls and Iptables
    • Filter by MAC Address
    • Match by Date and Time
    • The ACCEPT and DROP Targets
    • The LOG Target

Taught by

Andrei Dumitrescu

Reviews

Start your review of Bash Scripting: Learn Shell Scripting

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.