Take Control of the Mac Command Line with Terminal, 3rd Edition by Joe Kissell Summary
Learn how to unleash your inner Unix geek! Version 3.2, updated April 13, 2022 This book introduces you to the Mac’s command line environment, teaching you how to use the Terminal utility to accomplish useful, interesting tasks that are either difficult or impossible to do in the graphical interface.n If you've ever thought you should learn to use the Unix command line that underlies macOS, or felt at sea when typing commands into Terminal, Joe Kissell is here to help! With this 228-page book, you'll become comfortable working on the Mac's command line, starting with the fundamentals and adding more advanced topics as your knowledge increases. Now includes complete coverage of Monterey, Big Sur, Catalina, and zsh! Joe includes 66 real-life "recipes" for tasks that are best done from the command line, as well as directions for working with permissions, carrying out grep-based searches, creating shell scripts, and installing Unix software. The book begins by teaching you these core concepts: • The differences among Unix, a command line, a shell, and Terminal • Exactly how commands, arguments, and flags work • The basics of Terminal's interface and how to customize it Next, it's on to the command line, where you'll learn: • How to navigate your Mac's directory structure • Basic file management: creating, copying, moving, renaming, opening, viewing, and deleting files • Creating symbolic links • The types of command-line programs • How to start and stop a command-line program • How to edit a text file in nano • How to customize your prompt and other shell defaults • The importance of your PATH and how to change it, if you need to • How to get help (Joe goes way beyond telling you to read the man pages) You'll extend your skills as you discover how to: • Create basic shell scripts to automate repetitive tasks. • Make shell scripts that have variables, user input, conditional statements, loops, and math. • See which programs are running and what system resources they're consuming. • Quit programs that refuse to quit normally. • Enable the command line to interact with the Finder. • Control another Mac via its command line with ssh. • Understand and change an item's permissions, owner, and group. • Run commands as the root user using sudo. • Handle output with pipe (|) or redirect (> or <). • Use grep to search for text patterns in files and filter output. • Install new command-line software from scratch or with a package manager. • Use handy shortcuts in the Terminal app itself and in zsh. Questions answered include: • What changed on the command line in macOS 12 Monterey and macOS 11 Big Sur? (Not much, unless you have an M-series Mac!) • What changed on the command line in macOS 10.15 Catalina? (A lot!) • What are the differences between the zsh shell and the bash shell? • Which shell am I using, and how can I change my default shell? • How do I quickly figure out the path to an item on my Mac? • How can I customize my Terminal window so I can see man pages behind it? • How can I make a shortcut to avoid retyping the same long command? • Is there a trick for entering a long path quickly? • What should I say when someone asks if I know how to use vi? • How do I change my prompt to suit my mood or needs? • What is Command Line Tools for Xcode? • When it comes to package managers, which one should I use? Finally, to help you put it all together, the book showcases 66 real-world "recipes" that combine commands to perform useful tasks, such as listing users who've logged in recently, manipulating graphics, using a separate FileVault password, creating and editing user accounts, figuring out why a disk won't eject, copying the source code of a webpage, determining which apps have open connections to the internet, flushing the DNS cache, finding out why a Mac won't sleep, sending an SMS message, and deleting stubborn items from the Trash.