A complete Bash course from scratch — no shortcuts, no skipped steps.
Un curso completo de Bash desde cero — sin atajos, sin saltarse nada.
.--.
|o_o | Bash Journey
|:_/ | Learn the shell. Own the system.
// \ \
(| | )
/'\_ _/`\
\___)=(___/
This repository is a structured Bash course built for anyone who wants to learn shell scripting seriously — from absolute zero to a real working project. Every concept is covered in order, nothing is skipped.
Bash runs on every Linux distro, macOS, WSL, and most Unix-based systems. Learning it properly is one of the most practical skills a developer, sysadmin, or security professional can have.
It's also my personal practice space. I use the same materials I create here to reinforce my own knowledge.
- Complete beginners with no shell experience
- People who copy-paste bash scripts without understanding them
- Developers and sysadmins who want to automate everything
- Security professionals who need to move fast in a terminal
- Anyone on Linux, macOS, or WSL
bash-journey/
│
├── 📁 01_fundamentos/
│ ├── temario/ ← theory + examples
│ ├── ejercicios/ ← exercises (statements only)
│ └── soluciones/ ← solutions
│
├── 📁 02_variables_y_tipos/
├── 📁 03_control_de_flujo/
├── 📁 04_funciones/
├── 📁 05_arrays_y_strings/
├── 📁 06_archivos_y_texto/
├── 📁 07_procesos_y_señales/
├── 📁 08_scripting_real/
├── 📁 09_automatizacion/
└── 📁 10_proyecto_final/
| # | Module | Topics |
|---|---|---|
| 01 | Fundamentos | shebang, permissions, execution, echo, comments |
| 02 | Variables y tipos | variables, env vars, special vars, quoting |
| 03 | Control de flujo | if/elif/else, case, for, while, until |
| 04 | Funciones | definition, parameters, return codes, scope |
| 05 | Arrays y strings | arrays, string manipulation, slicing, regex |
| 06 | Archivos y texto | read/write files, grep, sed, awk, pipes |
| 07 | Procesos y señales | ps, kill, trap, background jobs, subshells |
| 08 | Scripting real | flags, getopts, error handling, best practices |
| 09 | Automatización | cron jobs, backups, system scripts |
| 10 | Proyecto final | a complete functional script using everything above |
- Start with
01_fundamentos/temario/— read and run the examples - Go to
01_fundamentos/ejercicios/— try to solve them on your own - If you get stuck, check
01_fundamentos/soluciones/ - Move to the next module only when you feel comfortable
- Any Linux distro, macOS, or WSL
- Bash 5.0+ (or Zsh for the aesthetically blessed)
- A terminal you actually enjoy using
Made by Anghelo — Networks & Computer Security graduate, Linux enthusiast.
Este repositorio es un curso estructurado de Bash pensado para quien quiere aprender scripting en serio — desde cero absoluto hasta un proyecto real funcional. Cada concepto está cubierto en orden, sin saltarse nada.
Bash corre en todas las distros Linux, macOS, WSL y la mayoría de sistemas Unix. Aprenderlo bien es una de las habilidades más prácticas que puede tener un desarrollador, sysadmin o profesional de seguridad.
También es mi espacio personal de práctica. Uso los mismos materiales que creo aquí para reforzar mi propio conocimiento.
- Personas sin ninguna experiencia en la terminal
- Quienes copian scripts de bash sin entenderlos
- Desarrolladores y sysadmins que quieren automatizar todo
- Profesionales de seguridad que necesitan moverse rápido en terminal
- Cualquiera en Linux, macOS o WSL
bash-journey/
│
├── 📁 01_fundamentos/
│ ├── temario/ ← teoría + ejemplos
│ ├── ejercicios/ ← ejercicios (solo enunciados)
│ └── soluciones/ ← soluciones
│
├── 📁 02_variables_y_tipos/
├── 📁 03_control_de_flujo/
├── 📁 04_funciones/
├── 📁 05_arrays_y_strings/
├── 📁 06_archivos_y_texto/
├── 📁 07_procesos_y_señales/
├── 📁 08_scripting_real/
├── 📁 09_automatizacion/
└── 📁 10_proyecto_final/
| # | Módulo | Temas |
|---|---|---|
| 01 | Fundamentos | shebang, permisos, ejecución, echo, comentarios |
| 02 | Variables y tipos | variables, variables de entorno, vars especiales, quoting |
| 03 | Control de flujo | if/elif/else, case, for, while, until |
| 04 | Funciones | definición, parámetros, códigos de retorno, scope |
| 05 | Arrays y strings | arrays, manipulación de strings, slicing, regex |
| 06 | Archivos y texto | leer/escribir archivos, grep, sed, awk, pipes |
| 07 | Procesos y señales | ps, kill, trap, jobs en background, subshells |
| 08 | Scripting real | flags, getopts, manejo de errores, buenas prácticas |
| 09 | Automatización | cron jobs, backups, scripts de sistema |
| 10 | Proyecto final | un script completo funcional usando todo lo anterior |
- Empieza por
01_fundamentos/temario/— lee y ejecuta los ejemplos - Ve a
01_fundamentos/ejercicios/— intenta resolverlos solo - Si te atascas, revisa
01_fundamentos/soluciones/ - Pasa al siguiente módulo solo cuando te sientas cómodo
- Cualquier distro Linux, macOS o WSL
- Bash 5.0+ (o Zsh para los estéticamente bendecidos)
- Una terminal que disfrutes usar
Hecho por Anghelo — Técnico en Redes y Seguridad Informática, entusiasta de Linux.
MIT © AngheloBR