Back to BlogQuay lại Blog
Bash & Shell

Bash & Shell Scripting Series: Roadmap & Curriculum

Lộ trình Tự học Bash & Shell Scripting từ cơ bản đến DevOps

A complete guide from terminal basics to DevOps automation, CI/CD scripting, and production shell scripts. Lộ trình toàn diện từ cơ bản terminal, biến, luồng điều khiển, xử lý text, quản lý process đến automation DevOps.

This Bash & Shell Scripting guide is currently only available in Vietnamese. Please toggle the language switch (🇻🇳) in the top navigation to read the roadmap.

Welcome to our Bash & Shell Scripting self-study series. This course covers terminal basics, variables, control flow, functions, text processing with grep/sed/awk, process management, real-world scripts, DevOps automation with CI/CD, advanced I/O redirection, defensive scripting, and system monitoring.

Chào mừng bạn đến với chuỗi bài học tự học Bash & Shell Scripting. Bash là ngôn ngữ scripting mặc định trên hầu hết hệ thống Unix/Linux/macOS, là công cụ không thể thiếu cho bất kỳ lập trình viên hay DevOps engineer nào. Từ việc điều hướng filesystem, tự động hóa tác vụ lặp đi lặp lại, đến xây dựng pipeline CI/CD — thành thạo Bash sẽ giúp bạn làm việc hiệu quả gấp nhiều lần trên dòng lệnh.

Dưới đây là lộ trình 11 bài học được thiết kế chi tiết nhằm giúp bạn từng bước làm chủ Bash & Shell Scripting:

01

Bài 1: Làm Quen Terminal — Filesystem, Lệnh Cơ Bản & Permissions

Hiểu cấu trúc lệnh Unix, điều hướng filesystem (cd, ls, pwd, mkdir), quản lý file (cp, mv, rm), phân quyền chmod/chown và cách đọc man pages.

02

Bài 2: Biến, Chuỗi & Mảng — Parameter Expansion & Arithmetic

Khai báo biến, phân biệt quoting (' vs "), parameter expansion (${var:-default}), arrays, arithmetic $((...)), biến môi trường vs biến cục bộ.

03

Bài 3: Luồng Điều Khiển — Điều Kiện, Vòng Lặp & Exit Codes

if/elif/else, test/[[ ]], case, vòng lặp for/while/until, break/continue, exit codes $? và cách xử lý lỗi cơ bản.

04

Bài 4: Functions & Scripts — Viết Script Chuyên Nghiệp Đầu Tiên

Shebang #!/bin/bash, tạo function với local/return, xử lý arguments ($1, $@, getopts), source vs ./ và best practices khi viết script.

05

Bài 5: Xử Lý Text — Pipeline, grep, sed, awk & Redirection

Pipeline |, redirection (>, >>, 2>&1), grep regex, sed stream editing, awk field processing, cut/sort/uniq/xargs và process substitution.

06

Bài 6: Process & Signals — Quản Lý Tiến Trình & trap

Foreground/background (&, fg, bg), jobs, nohup, trap signals, subshells (), wait, các biến đặc biệt $$/$!/PIPESTATUS.

07

Bài 7: Thực Chiến — Backup, Monitor & Deploy Scripts

Viết backup script có logging, health check monitor, batch file renamer, .env parser, deploy script. Error handling với set -euo pipefail.

08

Bài 8: DevOps & Automation — Git Hooks, CI/CD & Docker

Git hooks, CI/CD scripting, Docker entrypoint, cron jobs, SSH automation (scp, rsync), Makefile basics và linting với shellcheck.

09

Bài 9: Điều Hướng I/O Nâng Cao & File Descriptors

Tìm hiểu chuyên sâu File Descriptors (0, 1, 2), mở/đóng FD tùy ý với exec, truyền thông song song bằng Named Pipes (FIFOs), và kết nối mạng thô qua /dev/tcp socket.

10

Bài 10: Defensive Bash — Phòng Thủ, Gỡ Lỗi & Bảo Mật Script

Xây dựng script an toàn bằng cờ set -euo pipefail, xử lý bẫy tín hiệu (trap EXIT/ERR) để tự động dọn dẹp tài nguyên, phòng chống Shell Injection và sử dụng ShellCheck.

11

Bài 11: System Automation — Lập Lịch Tự Động & Giám Sát Hệ Thống

Viết script giám sát đĩa cứng, RAM và gửi cảnh báo tự động qua Slack/Telegram. So sánh Cron Jobs vs Systemd Timers và tự động quản lý xoay vòng logs bằng logrotate.