Bash and shell scripting let you automate tasks and control Linux, macOS and Unix systems from the command line. These free courses, books, tools and communities will take you from your first terminal command to writing solid, reliable scripts.
Udacity's free beginner course on the terminal, GNU Bash shell and the Linux filesystem.
A free Udacity workshop that builds on the basics with more hands-on shell practice.
Codecademy's free course on combining Bash commands into scripts to automate tasks.
Free Codecademy course on writing your own scripts and aliases to speed up your workflow.
MIT's free lecture and notes on shell basics, part of a full course on practical command line skills.
Follow-up MIT lecture covering shell scripting, aliases, functions and useful command line tools.
A free, structured written course covering everything needed to start writing Bash scripts.
A free interactive terminal workshop that teaches Bash fundamentals by having you write real scripts.
A free full-length YouTube course that teaches Bash by building five small working programs.
The first video in an 18-episode free playlist that walks through Bash scripting step by step.
The full LearnLinuxTV playlist covering variables, loops, functions, cron jobs and more.
Well-produced free playlists including Linux and Mac terminal tutorials on navigation, grep, cron and dotfiles.
A free playlist from a popular Linux YouTuber focused specifically on practical Bash scripting.
A clear 8-part written tutorial covering variables, input, arithmetic, if statements and loops with examples.
Free companion tutorial covering the Linux command line basics you need before scripting.
A long free written guide covering shell scripting fundamentals from the ground up.
A practical freeCodeCamp article on using Bash scripts to automate everyday tasks.
A free, thorough guide covering both beginner and advanced Bash concepts with built-in exercises.
A classic free guide with real-life examples, bridging the gap between quick HOWTOs and full references.
A free, dense single-page tour of Bash syntax for people who already know how to program.
A free, well-organized GitHub handbook covering Bash basics through more advanced scripting topics.
A highly respected free community guide focused on teaching correct, portable Bash practices.
A free interactive tutorial where you type real shell commands in the browser and get instant feedback.
Nearly 100 free Bash exercises with automated feedback and optional human mentoring.
Free coding challenges (kata) specifically for practicing shell scripting skills.
A free beginner-friendly set of Bash kata covering loops, file checks and other fundamentals.
A free wargame that teaches Linux command line and shell basics through a series of SSH-based challenges.
Paste any shell script and get free instant analysis showing bugs and bad practices to fix.
Paste a shell command and see each part of it explained using the actual man page text, completely free.
A free, Creative Commons-licensed book taking you from first keystrokes to writing full Bash programs.
A free, extremely thorough reference of roughly 1000 pages covering nearly every shell scripting technique.
The official, authoritative reference manual for Bash from the GNU Project, free in HTML and PDF.
The browsable HTML version of Machtelt Garrels' free practical guide to Bash scripting.
A free single-page compilation of the whole BashGuide for offline reading or quick searching.
The canonical Bash man page, free and always available directly from your terminal or online.
Google's free public style guide on writing clean, safe, maintainable shell scripts.
A free, open source static analysis tool that catches common bugs and bad patterns in shell scripts.
A free VS Code language server for Bash with autocompletion, symbol lookup and jump to definition.
A free bundle of VS Code extensions that turns the editor into a fuller shell scripting IDE.
The free open source project behind explainshell.com, usable locally if you want your own instance.
A free, award-winning Red Hat podcast on the history and people behind command line and open source tools.
A free, no-frills quick reference covering variables, conditionals, string manipulation and functions.
A free, well-organized visual cheat sheet covering the most common Bash syntax and patterns.
A set of free reference cheat sheets covering Bash scripting concepts taught in Codecademy's courses.
A free community forum for asking Bash scripting questions and sharing scripts and techniques.
A free Q&A site for Unix and Linux questions, with a large, active tag for Bash and shell scripting.
Tens of thousands of free, answered questions covering nearly every Bash scripting problem you might hit.
A free, community-maintained list of answers to the most frequently asked Bash scripting questions.
A free article listing practical starter projects like backup scripts and file organizers.
Ten free, concrete coding challenges to practice writing real Bash scripts.
A free list of project ideas ranging from simple file tools to server health check scripts.
Free guided project briefs that let you apply Bash scripting skills to small real programs.
A free, large list of project ideas across categories to keep practicing past the beginner stage.