Bash in Depth

Learn the terminal from your first command to complete applications written in bash: find your way, organize files, search and report on data with pipes, make…

Updated

Module 1: Meet the Terminal

Open a terminal on your own computer and find your way around it: where you are, what's in a folder, how to get anywhere, how to read a file and how to get help.

Module 2: Working with Files

Make, copy, move, rename, archive and delete files, many at a time and without regret, then write to files, edit them in the terminal and see what's filling your disk.

Module 3: Search, Pipes and Text

Find text in hundreds of files and files anywhere, then chain commands with pipes and redirection, up to sed and awk reports on real-looking data.

Module 4: Your Shell, Your Way

Variables, PATH and permissions explained, then a shell set up the way you like it: aliases, startup files, a prompt in your colors, the tools worth installing and the shortcuts that make you fast.

Module 5: Scripts Are Applications

A file of commands is an application: write scripts that take arguments, ask questions, make decisions and loop over files, and run them by name from anywhere.

Module 6: Building Real Tools

Turn scripts into tools people can trust: functions and arrays, clear errors, strict mode, debugging, tests, options and subcommands, saved data, friendly output, CSV, JSON and the web.

Module 7: Running a Computer

Look after a Linux or Mac computer from the terminal: processes and jobs, users, logs, services, health checks, scheduled jobs, backups, SSH and network checks.

Module 8: The Developer's Terminal

The scripts every software project has, secrets kept out of them, Git hooks, sharing your own tool, tmux, waiting and parallel work, and when to reach for another language.