This repository is a complete learning resource for Bash scripting — from beginner-friendly commands to advanced automation and CI/CD techniques.
Every topic is structured into a dedicated markdown file, including command examples, flags, real use cases, and best practices.
Learn foundational Bash commands such as:
ls
,cd
,pwd
,echo
,cat
,cp
,mv
,rm
- File and directory handling
- Manual pages and
alias
Learn to manipulate text streams using:
grep
,awk
,sed
,cut
,sort
,head
,tail
- Field extraction, search patterns, and formatting
Monitor your system using:
ps
,top
,df
,du
,free
,kill
,uptime
- Process and memory tracking, disk usage
Bash for networking tasks:
ping
,curl
,wget
,ssh
,scp
,rsync
- Download, transfer, and remote connections
Work with archives and compression:
zip
,unzip
,tar
Secure and manage file access:
chmod
,chown
,chgrp
Write and manage shell scripts:
- Syntax, variables, data types
- Operators, conditionals, loops, functions, arrays
- Task scheduling with
cron
advance/
)Topic | Description |
---|---|
error-handling.md |
Error trapping, exit codes, set -euo pipefail |
debug-trap.md |
Debugging with trap , set -x , DEBUG tracing |
regex-patterns.md |
Use regex in Bash with [[ =~ ]] , grep , awk |
io-redirection.md |
Input/output, pipes, file descriptors |
concurrency.md |
Background jobs, xargs -P , parallel execution |
libraries-getopts.md |
Modular code, function libraries, getopts CLI parser |
shellcheck-ci.md |
Lint Bash with shellcheck , use CI with GitHub Actions |
git clone https://github.com/KashifAlam407/Bash
cd Bash
.md
file to read concepts and run examples.You are welcome to:
This project is licensed under the MIT License.
Made with ❤️ by Kashif Alam