10 parts
Get comfortable in the terminal: navigation, files, pipes and redirection, grep and find, permissions, and shell scripting — the skills every developer needs.
What the terminal and shell are, why developers live in them, and how the command line makes you faster. The mental model before the commands.
8 min read
Move around the filesystem in the terminal: pwd, ls and its flags, cd, and absolute vs relative paths, with a diagram of the directory tree.
7 min read
Work with files and folders from the command line: mkdir, touch, cp, mv, rm and rmdir, including the flags that save you (and the one that bites).
9 min read
Read files from the command line with cat, less, head and tail, then make quick edits with nano: the everyday tools for inspecting logs and config.
Chain commands like Lego: pipes (|) pass output along, and redirection (>, >>, <) sends it to files. The idea that makes the command line click.
Find anything fast: grep to search inside files (with regex basics) and find to locate files by name, type or time. The search tools you'll use daily.
Make sense of Unix file permissions: reading ls -l, the read/write/execute bits for user/group/other, and changing them with chmod (symbolic and numeric).
Demystify environment variables and $PATH: how the shell finds commands, setting variables with export, and making them stick in your shell config file.
Turn commands into a reusable script: the shebang, variables, arguments, if statements and for loops in bash, to automate the boring stuff.
10 min read
Put it together: build a small bash script that organizes a messy folder by file type using variables, loops, conditionals, and the tools from the series.
11 min read