Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Bash Scripting: Learn Shell Scripting
Introduction
Bash Scripting: Learn Shell Scripting (2:39)
Course Goals (3:41)
Exercise: Meet Your Classmates and Instructor
ZTM Plugin + Understanding Your Video Player
Set Your Learning Streak Goals
Section 01: Intro to Bash Shell Scripting
Bash Aliases (8:24)
Quiz for Bash Aliases
Shell and Scripts (5:31)
Creating Your First Script and Changing the PATH (8:56)
Quiz for Shell, Scripts and PATH
The Bash Shebang (4:00)
Comments in Bash (3:50)
Running Scripts (4:27)
Quiz for Shebang, Comments and Running Scripts
Challenges: Intro to Bash
Let's Have Some Fun (+ Free Resources)
Section 02: Variables
Variables in Bash (9:23)
Variable Expansion and Quoting (9:47)
Environment and Shell Local Variables (9:24)
Getting User Input (6:37)
Quiz for Variables and User Input
Positional Parameters (9:42)
Project: How to Protect Yourself from Hackers (6:24)
Special Parameters (3:54)
$@ vs. $* (5:35)
Quiz for Positional Parameters
Challenges: Variables
Unlimited Updates
Section 03: Shell Expansions
Intro to Expansions (2:07)
Brace Expansion: String Lists (3:47)
Brace Expansions: Sequence Lists (3:10)
Project: Brace Expansion (6:46)
Exercise: Imposter Syndrome (2:55)
Tilde, Parameter and Variable Expansions (5:48)
Quiz for Brace and Variable Expansions
Command Substitution (6:14)
Arithmetic Expansion (4:31)
Process Substitution (3:24)
Quiz for Command and Process Substitution and Arithmetic Expansion
Word Splitting (5:22)
Filename Expansion (Globbing) (11:11)
Quiz for Word Splitting and Globbing
Challenges: Shell Expansions
Course Check-In
Section 04: Shell Operation in Depth
Intro to Shell Operation (2:25)
Tokenization (4:36)
Command Identification (6:39)
Quiz for Tokenization and Command Identification
Shell Expansions (1:02)
Quote Removal (2:42)
Redirections: Stdin and Stdout Redirections (7:09)
Stderr Redirection (8:51)
Quiz for Quote Removal and Redirections
Full Recap: Hands-on Example (8:03)
Implement a New Life System
Section 05: Program Flow in Bash
If, Elif and Else Statements (11:55)
Arithmetic Comparisons (3:56)
Multiple Condition Tests and Nested if/then Statements (8:00)
String Comparisons (Part 1) (6:21)
String Comparisons (Part 2) (2:54)
Quiz for If, Elif and Else Statements
Project: Testing Network Connections (4:42)
The Case Statement (11:21)
Menus in Bash (The Select Statement) (6:11)
Quiz for Case and Select
Project: System Administration Script Using Menus (12:08)
List of Commands (9:31)
Running a DOS Attack Without root Access (ulimit) (5:44)
Challenges: Flow Control
Section 06: Loops in Bash
For Loops (Part 1) (4:53)
For Loops (Part 2) (6:43)
Quiz for For Loops
Project: Dropping a List of IP Addresses Using a For Loop (5:00)
While Loops (Part 1) (8:24)
While Loops (Part 2) (9:06)
Project: Dropping a List of IP Addresses Using While and Process Substitution (4:28)
Loops with Break (7:07)
Loops with Continue (2:23)
Quiz for While Loops
Intro to Bash Arrays (7:05)
Arrays in Depth (8:46)
Quiz for Arrays
Using the Readarray Command (5:01)
Iterating Over Arrays (3:16)
Quiz for Readarray
Project: Account Creation (8:37)
Challenges: Loops
Section 07: Functions in Bash
Intro to Bash Functions (3:24)
Function's Arguments (5:30)
Variable Scopes in Functions (4:15)
Quiz for Functions
Challenges: Functions
Where To Go From Here?
Thank You! (1:17)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Appendix: Linux Installation Guide
Installing Ubuntu in a VM (13:21)
Things To Do After Installing Ubuntu (10:16)
Running a Linux Server in the Cloud (7:26)
Securing SSH with Key Authentication (5:08)
DigitalOcean Referral Link and Ubuntu Download Link (OVA File)
Appendix: Using the VIM Editor
The Basics of VIM Text Editor (8:46)
The VIM Editor In-Depth - Part 1 (8:56)
The VIM Editor In-Depth - Part 2 (5:49)
Appendix: Cron, Anacron and Automation
Task Automation and Scheduling Using Cron (crontab) (14:50)
Scheduling Tasks Using Anacron (anacron) (6:45)
Appendix: Netfilter and Iptables Firewall
Introduction to Netfilter and Iptables (2:36)
Chain Traversal in a Nutshell (1:38)
Iptables Basic Usage (10:54)
Iptables Options (Flags) - Part 1 (7:28)
Iptables Options (Flags) - Part 2 (6:38)
Where Do We Write Iptables Rules (12:53)
Setting the Default Policy (6:53)
Deleting the Firewall (3:39)
Filter by IP Address (10:55)
Filter by Port (15:38)
Intro to Stateful Firewalls (Connection Tracking) (3:33)
Implementing Stateful Firewalls and Iptables (7:37)
Filter by MAC Address (8:34)
Match by Date and Time (9:07)
The ACCEPT and DROP Targets (5:29)
The LOG Target (6:21)
Challenges: Variables
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures