macOS has a built-in command for keeping your Mac awake — caffeinate — so there’s no app to install. Its most useful trick is wrapping a command so the Mac stays up for exactly as…
Most command-line development on a Mac needs only the Xcode Command Line Tools — the compilers, git, and make, a few hundred megabytes — not the full multi-gigabyte Xcode IDE. Here’s how to install just…
macOS’s command-line tools come from BSD, not the GNU coreutils that ship with most Linux distributions. They cover the same ground, but their flags don’t always match — so a command copied straight from a…
macOS ships BSD sed at /usr/bin/sed, not the GNU version Linux uses. Most substitutions work the same, but a few differences turn a copied-from-Linux command into a cryptic error — and the -i flag is…
macOS ships the BSD version of find at /usr/bin/find, not the GNU findutils version most Linux distributions use. Most of what you know carries over unchanged — but a handful of habits from Linux tutorials…
When the Terminal prints zsh: command not found: something, it means zsh looked through every directory on your PATH and didn’t find a program by that name. zsh has been the default shell since Catalina…
macOS ships a base64 command at /usr/bin/base64, so there’s nothing to install — it’s the FreeBSD version, which differs from the GNU one on Linux in a couple of ways worth knowing. This covers encoding…
Homebrew is the package manager most Mac developers use to install command-line tools and apps from the Terminal. This covers installing it, the commands you’ll use day to day, running background services, backing up your…
Adding a directory to your PATH is how you get macOS to find a command by name instead of typing its full location every time. There’s more than one way to do it, and which…
DFU mode is the deepest recovery state on a Mac. DFU stands for Device Firmware Update, and you reach for it in the rare case where a Mac will not turn on, stops at a…