Skill Module

CLI & Scripting with Bash

2 branches·34 chapters·4 projects

Learn how to gain advanced control over the OS and automate complex routine tasks prone to manual errors with the CLI and Bash scripting.

About this module

This module turns the terminal from a mysterious black box into a reliable working environment you control.

You'll learn how Unix systems are organized, how files, processes, users, and permissions actually work, and how to operate your machine faster and more safely than any GUI allows. Instead of memorizing isolated commands, you'll understand how commands are composed, how data flows between them, and how to read manuals, history, and output so you can solve real problems without guesswork.

Once you're comfortable at the prompt, you'll move from one-off commands to repeatable automation. You'll write Bash scripts that accept input, validate it, branch on conditions, loop over data, reuse functions, and fail gracefully. The projects are intentionally practical so you internalize patterns like parsing, text processing, scheduling with cron, and defensive scripting.

By the end, you'll navigate any Unix/macOS box with confidence and replace error-prone, manual routines with scripts you trust. It's the baseline every developer needs before touching servers, deployments, or production workflows.

What you'll learn

Here's a shortlist of the key points you'll master by the end of this module.

  • Perform common tasks much faster than through the graphical interface
  • Use developer tools and utilities that only exist in the command line
  • Control processes, users, groups, permissions, and system resources
  • Understand core programming logic using Bash
  • Automate complex and repetitive tasks so you stop doing them manually
  • Write scripts that adapt to inputs, configuration, and changing conditions

The curriculum

Here's an overview of the chapters composing this module, organized by sections.

The Command-Line Interface

25 chapters·7 weeks

  • The Command-Line Interface
  • The Anatomy of Commands
  • The Execution Flow of Commands
  • The Command Manual
  • The Command History
  • Navigating the Unix Filesystem
  • Listing Files & Directories
  • Generating Dynamic Pathnames
  • Quoting & Escaping Parameters
  • Creating Files & Directories
  • Moving Files & Directories
  • Copying Files & Directories
  • Removing Files & Directories
  • Redirecting Input & Output Streams
  • Formatting the Output of Commands
  • The Vim CLI Text-Editor
  • The Shell Environment
  • Managing Software Packages on Linux
  • Managing Software Packages on macOS
  • Managing Foreground & Background Processes
  • Managing User Accounts
  • Managing User Groups
  • Managing File Permissions
  • Managing File Ownership
  • Scheduling Tasks With Cron

Bash Scripting

9 chapters·6 weeks·4 projects

  • The Bash Scripting Language
  • Storing Data With Variables in Bash
  • Working With Strings in Bash
  • Working With Arrays in Bash
  • Controlling the Execution Flow With Conditions in Bash
  • Repeating Instructions With Loops in Bash
  • Reusing Code With Functions in Bash
  • Reading & Processing Input in Bash
  • Handling Errors & Debugging in Bash

The projects you'll build

Employers don't just want impressive resumes anymore, they also want impressive proof. With Learn Backend, you'll build a GitHub repository that actually proves you know backend development.

Here's an overview of the practical, hands-on projects you'll build.

lb_calculator

The objective of this project is to write a Bash script that prints the result of an arithmetic operation.

lb_hangman

The objective of this project is to write a Bash script that recreates the hangman game.

lb_pwdgen

The objective of this project is to write a Bash script that generates a random password.

lb_base_converter

The objective of this project is to write a script that converts a number from the decimal base to the binary base or the hexadecimal base.

Who is this for?

  • Beginners who are not familiar with Linux or the Unix CLI
  • Developers who want to deepen their command-line and scripting skills

Do I need prior knowledge?

No. This module doesn't require any prior knowledge.

Why learn from me?

Razvan Ludosanu Profile Picture

Hi, I'm Razvan 👋 — A senior Node.js backend engineer, technical writer, online teacher, and founder of Learn Backend.

It's no secret: learning backend development on your own is extremely hard.

Before becoming a senior Node.js engineer with now over a decade of experience, I also failed at it for years... and probably for the same reasons you're struggling with it right now.

The internet is full of content, but very little direction. No one tells you what to learn first, what to ignore, or how it all fits together.

This is why I created Learn Backend: a roadmap that teaches the core principles first, gradually introduces hands-on skills, and shows how all the pieces logically fit together.

I wanted to give people like me, and maybe you, the best fighting chance to make it in the software industry as job-ready backend developers — without wasting the years or facing the same unnecessary hurdles I did.

So if you're tired of guessing what to learn next or overwhelmed by all the noise, Learn Backend was built for you.

What developers say about it

Our content isn't guesswork. It's continuously reviewed by professional web developers, and here's what some of them have to say...

This module does something most resources never do: it treats the shell like a real working environment, not a list of fun tricks. It covers filesystem navigation, permissions, users, groups, background processes, environment variables, cron, and package management on Linux and macOS. That's the actual day-to-day skillset you need to be productive on any Unix machine.

Isaac C

Senior Backend Developer

The part that stands out is the focus on safety and control. File ownership, permissions, foreground/background process control, scheduling jobs with cron... this is the kind of knowledge that prevents bad deployments. I don't usually see this taught to beginners, and it should be.

Damian R

Senior Backend Developer

The progression is sensible: understand the CLI as an interface, learn how to control files and processes, then start writing scripts that remove manual repetition. It prepares people for real work on a server without pretending they're "DevOps" on day one.

Amine B

DevOps Developer

CLI & Scripting with Bash

Learn how to gain advanced control over the OS and automate complex routine tasks prone to manual errors with the CLI and Bash scripting.

Own this module

Lifetime access

49

One-time payment — 30-day money-back guarantee

By submitting this form, you agree to the Terms & Conditions and Privacy Policy.

What's included:

  • 2 sections
  • 34 premium lessons with full code
  • 4 complete projects with commented solutions
  • Progress tracking
  • Future module and project updates

Mastery Pro Bundle

All current and future courses — forever

€279Save 22%

One-time payment — 30-day money-back guarantee

By submitting this form, you agree to the Terms & Conditions and Privacy Policy.

What's included:

  • All courses and standalone branches
  • 130 premium lessons with full code
  • 26 complete projects with commented solutions
  • Progress tracking accross the full roadmap
  • Private student community access
  • All future module and project updates
  • Lifetime access

Our 100% satisfaction guarantee and money-back promise

We want the investment in our program to be an absolute no-brainer for you.

If for whatever reason you aren't 100% satisfied with your experience, send us an email within the first 30 days of purchase at support@learnbackend.dev and we'll refund your entire payment.

No hard feelings. No questions asked.

Everything else you need to know

You've got questions? We've got answers.