Shell Scripting Learning Plan - 3 Hours/Day
Week 1 (Days 1–7): Foundations & Basics
- Day 1: Introduction to the Linux shell, basic commands (ls, cd, cp, mv, rm,
touch, chmod)
- Day 2–3: Variables, data types, and quoting ("', `, `` ` ``)
- Day 4: Input/output redirection (>, >>, <, |) and command substitution
- Day 5–6: Conditional statements: if, else, elif, test
- Day 7: Basic loops: for, while, until
Mini Projects:
- Backup directory script
- Script to list files older than a certain date
Week 2 (Days 8–14): Control Flow, Functions, & File Handling
- Day 8–9: Loops and control flow (break, continue, nested loops)
- Day 10: Functions: defining, calling, passing arguments
- Day 11–12: Using command-line arguments ($1, $@, $#), positional parameters
- Day 13: Error handling and exit statuses
- Day 14: File manipulation with find, cut, sort, uniq, and text processing tools
like grep, sed, awk
Mini Projects:
- Script to parse a log file and filter errors
- Script to automate file cleanup (delete or archive old files)
Week 3 (Days 15–21): Advanced Features & Interview Preparation
- Day 15: Scheduling tasks with cron and crontab
- Day 16–17: Advanced scripting techniques: regular expressions in grep, sed, awk
- Day 18: Automating system monitoring (e.g., disk usage, system health)
- Day 19–20: Writing complex scripts (e.g., user management, log rotation)
- Day 21: Combine multiple scripts into one cohesive automation solution
Mini Projects:
- Email alert script based on system logs
- Automate backup and cleanup process
Week 4 (Days 22–28): Real-World Practice & Interview Mock
- Day 22–23: Review common shell scripting interview questions and answers
- Day 24–25: Write scripts from scratch for common interview tasks (file
manipulation, automation)
- Day 26: Mock interview: write a script under time constraints
- Day 27–28: Final review, debugging practice, optimization, and cleanup