Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix E: Additional Resources

This appendix provides links to documentation, tools, communities, and learning resources for macOS and Unix.


Official Apple Documentation

Developer Documentation

ResourceURLDescription
Apple Developer Documentationdeveloper.apple.com/documentationOfficial API and framework documentation
Mac Technology Overviewdeveloper.apple.com/library/archive/documentation/MacOSX/Conceptual/OSX_Technology_OverviewSystem architecture overview
Shell Scripting Primerdeveloper.apple.com/library/archive/documentation/OpenSource/Conceptual/ShellScriptingApple’s shell scripting guide
Daemons and Servicesdeveloper.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartuplaunchd and services guide
File System Programming Guidedeveloper.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuideFilesystem concepts and APIs
Security Overviewdeveloper.apple.com/documentation/securitySecurity frameworks and features

System Administration

ResourceURLDescription
Apple Platform Securitysupport.apple.com/guide/securitySecurity architecture guide
macOS Deployment Referencesupport.apple.com/guide/deploymentEnterprise deployment
Mac Admins Documentationsupport.apple.com/guide/mac-helpEnd-user documentation
Apple Configurator Guidesupport.apple.com/guide/apple-configurator-macDevice configuration

Open Source

ResourceURLDescription
Apple Open Sourceopensource.apple.comDarwin and related source code
XNU Sourcegithub.com/apple-oss-distributions/xnuXNU kernel source
Swift Sourcegithub.com/apple/swiftSwift language source

Man Pages and Built-in Documentation

Accessing Man Pages

# View man page
$ man <command>

# Search man pages by keyword
$ man -k <keyword>
$ apropos <keyword>

# View specific section
$ man 5 passwd    # Section 5 (file formats)

# List all sections for a topic
$ man -f passwd
$ whatis passwd

# Convert man page to PDF
$ man -t ls | open -f -a Preview

# Man page sections on macOS
# 1 - User commands
# 2 - System calls
# 3 - C library functions
# 4 - Devices and special files
# 5 - File formats
# 6 - Games
# 7 - Miscellaneous
# 8 - System administration commands

Online Man Pages

ResourceURLDescription
macOS Man Pageskeith.github.io/xcode-man-pagesSearchable macOS man pages
FreeBSD Man Pagesfreebsd.org/cgi/man.cgiBSD reference (often applicable to macOS)
man7.orgman7.org/linux/man-pagesLinux man pages (for comparison)
explainshell.comexplainshell.comVisual command explanation

Package Managers

Homebrew

ResourceURLDescription
Homebrewbrew.shMain site and installation
Homebrew Documentationdocs.brew.shOfficial documentation
Homebrew Formulaeformulae.brew.shPackage search
Homebrew GitHubgithub.com/Homebrew/brewSource code and issues

MacPorts

ResourceURLDescription
MacPortsmacports.orgMain site
MacPorts Guideguide.macports.orgDocumentation
Port Searchports.macports.orgPackage search

Other Package Systems

ResourceURLDescription
Nix on macOSnixos.org/download.htmlNix package manager
pkgsrcpkgsrc.orgNetBSD’s portable package system

Shell Resources

Zsh

ResourceURLDescription
Zsh Manualzsh.sourceforge.io/DocOfficial documentation
Oh My Zshohmyz.shZsh framework and plugins
Preztogithub.com/sorin-ionescu/preztoAlternative zsh framework
Zsh Usersgithub.com/zsh-usersPopular zsh plugins
Awesome Zshgithub.com/unixorn/awesome-zsh-pluginsCurated plugin list

Bash

ResourceURLDescription
Bash Manualgnu.org/software/bash/manualOfficial documentation
Bash Guidemywiki.wooledge.org/BashGuideCommunity guide
Bash Pitfallsmywiki.wooledge.org/BashPitfallsCommon mistakes
ShellCheckshellcheck.netShell script linter

General Shell

ResourceURLDescription
The Art of Command Linegithub.com/jlevy/the-art-of-command-lineCommand line mastery
Command Line Power Usercommandlinepoweruser.comVideo course
tldr pagestldr.shSimplified man pages

Terminal Emulators

ApplicationURLDescription
Terminal.appBuilt-inmacOS default terminal
iTerm2iterm2.comFeature-rich terminal
Alacrittyalacritty.orgGPU-accelerated terminal
kittysw.kovidgoyal.net/kittyFast, feature-rich terminal
Warpwarp.devModern terminal with AI
Hyperhyper.isElectron-based terminal
Tabbytabby.shCross-platform terminal

Text Editors

Terminal-Based

EditorURLDescription
Vimvim.orgClassic modal editor
Neovimneovim.ioModern Vim fork
GNU Emacsgnu.org/software/emacsExtensible editor
nanoBuilt-inSimple editor
micromicro-editor.github.ioModern terminal editor

GUI with Terminal Integration

EditorURLDescription
Visual Studio Codecode.visualstudio.comPopular extensible editor
Sublime Textsublimetext.comFast, powerful editor
BBEditbarebones.com/products/bbeditmacOS-native text editor

Development Resources

Command Line Tools

ResourceURLDescription
Xcode Downloadsdeveloper.apple.com/downloadXcode and tools
Xcode Release Notesdeveloper.apple.com/documentation/xcode-release-notesVersion history

Version Control

ResourceURLDescription
Pro Git Bookgit-scm.com/bookComprehensive Git book
GitHub CLIcli.github.comGitHub command line
Git Documentationgit-scm.com/docOfficial documentation

Language-Specific

ResourceURLDescription
pyenvgithub.com/pyenv/pyenvPython version management
rbenvgithub.com/rbenv/rbenvRuby version management
nvmgithub.com/nvm-sh/nvmNode.js version management
rustuprustup.rsRust toolchain installer

System Administration

Mac Admin Resources

ResourceURLDescription
Mac Admins Foundationmacadmins.orgCommunity resources
MacAdmins Slackmacadmins.slack.comCommunity chat
Der Flounderderflounder.wordpress.comMac admin blog
Mr. Macintoshmrmacintosh.commacOS news and guides
Scripting OS Xscriptingosx.comAutomation and scripting
Mac Admin Infomacadmin.infoTools and resources

Configuration Management

ToolURLDescription
Munkigithub.com/munki/munkiSoftware deployment
Jamfjamf.comEnterprise management
Mosylemosyle.comApple device management
Puppetpuppet.comConfiguration management
Ansibleansible.comAutomation platform
Chefchef.ioInfrastructure automation

Security Tools

ToolURLDescription
Objective-See Toolsobjective-see.org/tools.htmlFree security tools
Santagithub.com/google/santaApplication allowlisting
osqueryosquery.ioSystem information via SQL
Luluobjective-see.org/products/lulu.htmlOpen-source firewall

Books

macOS and Unix

TitleAuthorDescription
macOS InternalsJonathan LevinDeep dive into macOS architecture
The Mac Hacker’s HandbookMiller & Dai ZovimacOS security
Learning Unix for OS XDave TaylorIntroduction for Mac users
Mac OS X for Unix GeeksJepson & RothmanUnix perspective on macOS

Unix and Linux

TitleAuthorDescription
The Linux Command LineWilliam ShottsFree online
Unix and Linux System Administration HandbookNemeth et al.Comprehensive sysadmin
How Linux WorksBrian WardUnderstanding Linux internals
The Unix Programming EnvironmentKernighan & PikeClassic Unix philosophy
Advanced Programming in the Unix EnvironmentStevens & RagoUnix programming bible

Shell Scripting

TitleAuthorDescription
Learning the bash ShellNewham & RosenblattBash fundamentals
Classic Shell ScriptingRobbins & BeebePOSIX shell scripting
Wicked Cool Shell ScriptsTaylor & PerryPractical scripts
From Bash to Z ShellKiddle et al.Advanced shell usage

Community Resources

Forums and Q&A

ResourceURLDescription
Stack Overflowstackoverflow.com/questions/tagged/macosProgramming Q&A
Ask Differentapple.stackexchange.comApple-focused Q&A
Unix & Linux Stack Exchangeunix.stackexchange.comUnix Q&A
Super Usersuperuser.comPower user Q&A

Discussion

ResourceURLDescription
MacRumors Forumsforums.macrumors.comMac community
r/MacOSreddit.com/r/MacOSmacOS subreddit
r/commandlinereddit.com/r/commandlineCLI subreddit
r/osxreddit.com/r/osxLegacy macOS subreddit
Hacker Newsnews.ycombinator.comTech news and discussion

Conferences and Events

EventURLDescription
WWDCdeveloper.apple.com/wwdcApple developer conference
MacDevOps:YVRmacdevops.caMac admin conference
MacSysAdminmacsysadmin.seEuropean Mac admin conference
Objective by the Seaobjectivebythesea.orgmacOS security conference

Blogs and News

Technical Blogs

ResourceURLDescription
Eclectic Lighteclecticlight.comacOS technical deep-dives
The Eclectic Light Companyeclecticlight.co/tag/macs/Howard Oakley’s blog
Scripting OS Xscriptingosx.comArmin Briegel’s blog
Der Flounderderflounder.wordpress.comRich Trouton’s blog
Sixcolorssixcolors.comJason Snell’s Apple coverage

News Sites

ResourceURLDescription
MacRumorsmacrumors.comApple news
9to5Mac9to5mac.comApple news
Ars Technicaarstechnica.com/appleIn-depth Apple coverage
AppleInsiderappleinsider.comApple news and reviews

Useful Utilities

System Utilities

ToolURLDescription
htopbrew install htopInteractive process viewer
ncdubrew install ncduNCurses disk usage
treebrew install treeDirectory tree listing
jqbrew install jqJSON processor
ripgrepbrew install ripgrepFast search tool
fdbrew install fdFast find alternative
batbrew install batCat with syntax highlighting
exa/ezabrew install ezaModern ls replacement
fzfbrew install fzfFuzzy finder
tmuxbrew install tmuxTerminal multiplexer

macOS-Specific

ToolURLDescription
masbrew install masMac App Store CLI
dutibrew install dutiSet default applications
m-clibrew install m-climacOS CLI swiss army knife
mackupbrew install mackupApplication settings backup
trashbrew install trashMove files to Trash
terminal-notifierbrew install terminal-notifierSend notifications
blueutilbrew install blueutilBluetooth CLI
switchaudio-osxbrew install switchaudio-osxAudio device switching

Learning Paths

Beginner

  1. Read Apple’s Shell Scripting Primer
  2. Work through The Linux Command Line (free online)
  3. Practice with tldr pages and explainshell
  4. Install Homebrew and explore packages
  5. Learn basic vim or nano for quick edits

Intermediate

  1. Master zsh configuration and plugins
  2. Learn shell scripting and automation
  3. Understand launchd for services
  4. Explore system administration tools
  5. Study filesystem hierarchy and permissions

Advanced

  1. Read macOS Internals by Jonathan Levin
  2. Explore XNU source code
  3. Study security architecture (Gatekeeper, SIP, TCC)
  4. Learn IOKit and system frameworks
  5. Contribute to open-source macOS tools

Essential Bookmarks

Apple Developer          https://developer.apple.com
Homebrew                 https://brew.sh
iTerm2                   https://iterm2.com
Oh My Zsh                https://ohmyz.sh
explainshell             https://explainshell.com
tldr pages               https://tldr.sh
ShellCheck               https://shellcheck.net
Mac Admin Slack          https://macadmins.herokuapp.com

Documentation Quick Access

macOS Man Pages          https://keith.github.io/xcode-man-pages/
Homebrew Docs            https://docs.brew.sh
Zsh Manual               https://zsh.sourceforge.io/Doc/
Apple Open Source        https://opensource.apple.com
Apple Platform Security  https://support.apple.com/guide/security/