In this article, I’ve picked the best free and paid online Bash courses, a scripting language and a shell that allows developers to save lots of time and energy by writing scripts to automate repetitive computer tasks. Most of the courses are free and beginner friendly!
Click on the shortcuts for more details:
Here are my top picks. Click for details:
What is Bash?
To understand what Bash does, we first need to know what a shell and terminal is.
A shell is an interface between the user and the operating system that interprets the commands given by the user for the operating system to perform. Meanwhile, the terminal is an interactive program which prompts the user to enter a command for the shell to interpret.
Bash (which is an acronym for Bourne-Again Shell) is both a scripting language and a shell. It is the de facto standard shell for most Linux distributions. You communicate with the shell by writing Bash commands interactively to the terminal or executing Bash scripts.
But why use Bash in the command-line when your GUI can do most work? Bash is very versatile. It allows you to take full advantage of the low-level functionality of your computer. Many repetitive computer tasks (applying configurations, manipulating files, generating build artifacts, and various other DevOps-related activities) can be automated with Bash scripts, saving a lot of time. Additionally, you can schedule Bash scripts to run at a certain time or event which means that you don’t even have to lift a finger to run them!
It is for these reasons that Bash is the 6th most popular language according to the Stack Overflow Developer Survey. People who use Bash are often paid $85K+ yearly and many have testified to the time saved thanks to automation. So if you’re not already using Bash, you’ll find that the time saved automating tasks will greatly outweigh the time spent learning it.
- All of the courses in this ranking except for 3 are free or free-to-audit
- 4 courses offer a certificate and 5 do not
- All of the courses except for one are suitable for programming beginners
- Meanwhile, two of the courses require familiarity with the command-line
- This ranking has a diverse set of providers, ranging from Coursera to Codecademy to Udemy and other independents
- 2.2K people are following Bash Courses on Class Central.
Our first pick for the best Bash course is Bash Scripting and System Configuration by Codio on Coursera.
In this free-to-audit course, you’ll gain experience writing bash scripts and working with the command line through hands-on practice on an interactive virtual Ubuntu system.
No scripting experience required!
What you’ll learn:
- Scripting basics: terminal navigation, variables, and control structures
- Real-world Bash usage: automating tasks with common script utilities
- Advanced scripting: file actions, globbing, regular expressions, and scheduled scripts
- Git version control: the package management system, and their integration with Bash
- Interactive assignments: explanations, diagrams, and runnable script examples
- Assignment formats: from multiple choice to fill-in-the-blank and coding exercises with instant feedback.
This course is part of the Unix and Bash for Beginners Specialization. It is intended to teach people without technical experience Bash scripting skills and other Unix tools to help them perform basic system administrator tasks.
BashGuide is a free guide that aims to teach beginners how to work with Bash while following the best Bash-writing practices and techniques. No advanced knowledge is required. If there’s anything confusing in the guide, you can report the text to the #bash channel on Libera Chat so it can be revised.
Familiarity with the fundamental Unix tool set or programming languages is helpful, but not necessary.
In this course, you’ll:
- Start with different types of Bash commands and correct argument handling
- Explore special characters evaluated differently by Bash and basics of script writing
- Understand named parameters in memory, including variables and special parameters
- Combine parameters with conditionals, loops, and arrays for powerful automation scripts
- Dive into bash’s pattern matching with globs and regular expressions for versatile text handling
- Learn input/output methods, including user/file input and result output
- Cover compound commands, job controls, and best practices for working with Bash and the shell
- Learning involves reading each section and practicing examples in the terminal.
A new version of this guide is currently in the works.
|Maarten Billemont (Lhunath) and GreyCat
Bash Scripting and Shell Programming by Jason Cannon will teach you how to take complex, tedious tasks and turn them into Bash programs that will save you lots of time while doing real work.
By the end of this course you will be able to create bash scripts with ease for Linux, Unix, or MAC systems.
No prior experience with the shell or command line is needed to take this course.
What you’ll learn:
- Start with basics: shebang, creating/using variables, and handling return codes
- Explore programming concepts and simplify them with case statements
- Learn to accept command line arguments, process them, and write output
- Implement logging using functions in shell scripts for runtime tracking
- Explore using wildcards with for loops, debugging tips, and error avoidance
- End the course with specific Bash shell options for convenience
- Learning involves watching lecture videos and attempting MCQ and coding exercises.
Jason is the founder of the Linux Training Academy. He has utilized his Linux skills at companies such as Xerox, UPS, Hewlett-Packard, and Amazon. He has also acted as a technical consultant and independent contractor for small businesses and Fortune 500 companies. He is the author of “Linux for Beginners”, “Command Line Kung Fu”, and “Docker: A Project-Based Approach to Learning”.
|4.5 / 5.0 (17K)
Introduction to Bash Scripting is a paid course from Datacamp that’s perfect for data scientists or analysts looking to leverage the power of Bash script for streamlining their data pipeline workflow. By the end of the interactive course, you’ll be able to write Bash scripts to automate any repetitive task.
You should be familiar with the command line and the shell prior to taking this course.
In this course, you will:
- Start with basic Bash script structures and create command-line pipelines
- Practice with standard streams, inputting arguments, and outputting results
- Master variables and data structures like arrays for advanced Bash scripts
- Learn to use variables with control statements, such as loops and conditionals
- Final section focuses on creating Bash functions for task automation
- Understand how to schedule scripts for automatic execution
- Learning involves watching lively lecture videos, interactive exercises, and MCQs.
Alex is a Senior Data Scientist working for Atlassian in Sydney, Australia. He has built and delivered several Masters-level courses in machine learning and deep learning whilst researching applications of machine learning and data science in industry.
Datacamp is an online learning platform that focuses on, as you guess it, data. You can find data science, data engineering, and data analytics courses here.
|4.5 / 5.0 (19)
In this free lecture, titled Course overview + the shell, you’ll learn all about the shell and how to use bash to automate repetitive tasks. The lecturers in this course take their time to explain and demonstrate the versatility of Bash scripts.
No prior programming experience is required to take this course.
- Receive a swift introduction to the shell as a user-computer interface
- Discover Bash as the language for shell communication
- Learn shell navigation, file creation, and viewing
- Understand connecting program input/output and data wrangling
- Explore Bash examples for configuring the computer
- Watch lecture videos, read articles, and do hands-on practice.
This lecture is from a larger series called The Missing Semester of Your CS Education. It introduces computer science students to important concepts and tools that normally wouldn’t be covered in the typical CS syllabus. The next couple of lectures also cover Bash and shell scripting, with one being on Shell Tools and Scripting, another on Data Wrangling, and a third on Command-line Environment. You can also see them on YouTube.
|Massachusetts Institute of Technology
|Anish Athalye, Jon Gjengset, and Jose Javier Gonzalez Ortiz
This free interactive course, learnyoubash, teaches you how to use the terminal and write your first Bash script. You’ll learn the terminal by interacting with the terminal, and learn Bash by writing Bash. Everything in this course is hands-on!
No prior experience with programming is required to take this course.
What you’ll learn:
- An introduction to Bash and the terminal with a “Hello, World!” exercise
- Learn variable assignment and creating Bash scripts
- Understand positional parameters and working with arrays
- Expansions for arithmetic operations and command executions
- Streams, pipes, and redirection techniques
- Usage of conditional statements (if and case) and loop structures
- Incorporate functions into Bash scripts
- How to utilize Bash debugging tools
- Tutorials include explanatory text for guidance
- Learn through hands-on completion of Bash exercises.
Denys Dovhan is a Ukrainian front-end developer at Wix. He makes open source stuff and is interested in geography and history.
This interactive course, also available in Ukrainian, is based on the Bash Handbook, another fantastic guide on Bash.
Practice your Bash writing skills with Bash from Exercism, a free online coding platform with lots of coding exercises for you to practice your Bash writing skills.
Not only do the exercises have instant automated feedback upon submission, but your code can also be checked by a human mentor upon request. This means that you can get expert feedback from someone on how to improve your code, which is amazing for learning!
Close to 60 people have contributed towards the Bash syllabus and exercises, with 700+ mentors available at the time of writing.
Programmers of all levels of experience can join this platform, as exercises range from easy to challenging.
On this site:
- All exercises unlocked at the beginning, categorized by easy, medium, and hard difficulty levels
- Easy tasks include converting resistor color codes and computing prime factors
- Medium difficulty exercises involve implementing variable length quantity encoding and date calculations
- Hard exercises include finding change with the fewest coins and solving the knapsack problem
- Self-paced with 89+ hands-on programming exercises
- Automatic code analysis and the option for personal mentoring for better understanding.
Exercism provides exercises on 60+ programming languages including Python, Kotlin, F#, and even WebAssembly. Their mission is to help everyone get really good at programming, regardless of their background, share the love of programming, and help people upskill as part of their upward social mobility.
If you’re brand new to the Linux command line, the free course Command Challenge is a fantastic way to learn by doing. You’ll become familiar with the command line by writing one-liner Bash commands to accomplish the tasks set by the course.
No prior knowledge of command line or bash is required to take this course.
In this course:
- Solve around 60 challenges, arranged into three sections: Command Challenge, ‘Oops I deleted my bin/ dir,’ and 12 Days of Christmas themed challenge
- Command Challenge covers basic terminal navigation, commands (echoing, grepping, pipelining), script writing, and automation
- ‘Oops I deleted my bin/ dir’ involves recovering files from the bin directory “after deletion by a process on your computer”
- The 12 Days of Christmas themed challenge is the final section.
You can find John Jarvis’s personal blog here. In his blog, you can also find some of the user submitted solutions to the first question, one of them being a most absurd solution!
In this paid Codecademy course titled Learn Bash Scripting, you’ll learn how to cut down on work time massively by automating your workflow with bash scripts. Bash is a scripting language, but that doesn’t mean that it lacks common programming concepts.
Before taking this course, you should have learned the Command Line.
What you’ll learn:
- Learn through interactive course articles and hands-on coding exercises
- Start with basics: variables, conditionals, and loops
- Learn to prompt user input and access data in external files
- Configure bash script, create an alias for efficiency
- Build a Bash script as a portfolio project to reinforce skills
- Review all concepts learned.
Codecademy was co-founded by Zach Sims and Ryan Bubinski, with the goal of giving anyone in the world the ability to learn the skills they’d need to succeed in the 21st century. They offer free courses in 15 different programming languages, the most popular ones being Python, Java, Ruby, C++, C#, and Swift.
|4.2 / 5.0 (920)
Why You Should Trust Us
Class Central, a Tripadvisor for online education, has helped 60 million learners find their next course. We’ve been combing through online education for more than a decade to aggregate a catalog of 200K online courses and 200K+ reviews written by our users. And we’re online learners ourselves: combined, the Class Central team has completed over 400 online courses, including online degrees.
How We Made Our Picks and Tested Them
I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:
- Research: I started by leveraging Class Central’s database and exploring the internet. I made a preliminary selection of Bash courses by rating, reviews, and bookmarks.
- Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
- Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, affordability, release date, ratings and enrollments.
Pat revised the research and the latest version of this article.