Take Control of the Mac Command Line with Terminal
豆瓣
Joe Kissell
简介
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 221-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 Big Sur, Catalina, and zsh!
Joe includes 64 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.
I found answers to many questions in your book, and I enjoyed reading it. I am definitely more confident now in facing the Mac command line. Thank you for the time and art that you spent to create such a clarifying text.
—Mona Hosseini, grad student in Genomic Medicine and Statistics at the University of Oxford
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 11 Big Sur? (Very little, unless you have an M-series Mac with Apple silicon!)
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?
Very good! A pleasure to read, the right balance of coverage and clarity.
—Brian G.
Finally, to help you put it all together, the book showcases 64 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.
contents
Read Me First
Updates and More
Basics
What’s New in Version 3.1.1
What Was New in Version 3.1
What Was New in Version 3.0.1
What Was New in the Third Edition
Introduction
macOS Command Line Quick Start
Understand Basic Command-Line Concepts
What’s Unix?
What’s a Command Line?
What’s a Shell?
What’s Terminal?
What Are Commands, Arguments, and Flags?
What Changed in Catalina?
Get to Know (and Customize) Terminal
Learn the Basics of Terminal
Modify the Window
Open Multiple Sessions
Change the Window’s Attributes
Change Your Current Shell
Set a Default Shell
Look Around
Discover Where You Are
See What’s Here
Repeat a Command
Cancel a Command
Move into Another Directory
Jump Home
Understand How Paths Work
Understand the macOS Directory Structure
Use Tab Completion
Find a File
View a Text File
Get Help
Clear the Screen
End a Shell Session
Work with Files and Directories
Create a File
Create a Directory
Copy a File or Directory
Move or Rename a File or Directory
Delete a File
Delete a Directory
Use Symbolic Links
Work with Programs
Learn Command-Line Program Basics
Run a Program or Script
Run a Program in the Background
See What Programs Are Running
Stop a Program
Edit a Text File
Create Your Own Shell Script
Customize Your Defaults
About Startup Files
Edit .zshrc or .bash_profile
Create Aliases
Modify Your PATH
Change Your Prompt
Bring the Command Line into the Real World
Get the Path of a File or Folder
Open the Current Directory in the Finder
Open a Hidden Directory without Using Terminal
Open the Current Folder in Terminal
Run a Shell Script from the Finder
Open a macOS App
Open a File in macOS
Log In to Another Computer
Start an SSH Session
Run Commands on Another Computer
End an SSH Session
Transfer Files with sftp or scp
Work with Permissions
Understand Permission Basics
Change an Item’s Permissions
Change an Item’s Owner or Group
Perform Actions as the Root User
Learn Advanced Techniques
Pipe and Redirect Data
Get a Grip on grep
Add Logic to Shell Scripts
Install New Software
Use Command Line Tools for Xcode
Install Unix Software from Scratch
Use a Package Manager
Learn Command-Line Shortcuts
Terminal Tips and Shortcuts
Zsh Tips and Shortcuts
Command-Line Recipes
Change Defaults
Perform Administrative Actions
Modify Files
Work with Information on the Web
Manage Network Activities
Do More with SSH
Work with Remote Macs
Troubleshoot and Repair Problems
Get Help in Style
Do Other Random Tricks
About This Book
Ebook Extras
About the Author and Publisher
Also by Joe Kissell
Copyright and Fine Print