macOS
macOS system administration, command-line differences from Linux, and automation best practices.
Popular
New
Join 2,672+ developers using this skill
skill
macOS system administration, command-line differences from Linux, and automation best practices.
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
sed -i requires extension argument: sed -i '' 's/a/b/' file — empty string for no backup, Linux doesn't need itfind doesn't support -printf — use -exec stat or xargs with stat -f insteaddate uses different format flags: date -j -f '%Y-%m-%d' '2024-01-15' '+%s' — -j prevents setting timegrep -P (Perl regex) doesn't exist — use grep -E (extended) or install ggrep via Homebrewxargs defaults to /usr/bin/echo not the command — always specify the command explicitlyreadlink -f doesn't exist — use realpath or python3 -c "import os; print(os.path.realpath('path'))"/opt/homebrew/bin, /opt/homebrew/lib/usr/local/bin, /usr/local/libuname -m returns arm64 or x86_64~/.zprofile for eval linearch -x86_64 /bin/bash then install/run Intel-only toolssecurity add-generic-password -a "$USER" -s "service_name" -w "secret_value" -Usecurity find-generic-password -a "$USER" -s "service_name" -w-U flag updates if exists — without it, duplicate entries errorsecurity delete-generic-password -a "$USER" -s "service_name"~/Library/LaunchAgents/ — runs as user when logged in/Library/LaunchDaemons/ — runs at boot as rootlaunchctl load -w ~/Library/LaunchAgents/com.example.plistlaunchctl unload — edits to loaded plists are ignoredlaunchctl list | grep service_name then launchctl error <exit_code>log show --predicate 'subsystem == "com.example"' --last 1htccutil reset clears permissions: tccutil reset AppleEvents for Automationsqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT * FROM access"defaults read com.apple.finder AppleShowAllFilesdefaults write com.apple.finder AppleShowAllFiles -bool truedefaults delete com.apple.finder AppleShowAllFileskillall Finderosascript -e 'id of app "App Name"'defaults export com.apple.finder - outputs XMLditto preserves resource forks and metadata — use instead of cp for app bundleshdiutil create -volname "Name" -srcfolder ./folder -format UDZO output.dmghdiutil attach image.dmg — returns mount point pathhdiutil detach /Volumes/Namexattr -l file to list, xattr -c file to clear allxattr -d com.apple.quarantine app.appecho "text" | pbcopypbpastepbcopy < file.txtpbpaste -Prefer rtfscreencapture -i output.pngscreencapture -w output.pngscreencapture -cscreencapture -x — suppresses sound and cursorcaffeinate -i command — keeps system awake while command runscaffeinate -t 3600 — 1 hourpmset -g assertionspmset -g to view, sudo pmset -a sleep 0 to disable sleeposascript -e 'tell application "System Events" to get name of first process whose frontmost is true'networksetup -listallhardwareportsipconfig getifaddr en0 (Wi-Fi usually en0 on laptops)scutil --dns | grep nameserversudo dscacheutil -flushcache; sudo killall -HUP mDNSRespondernetworksetup -getwebproxy "Wi-Fi"csrutil statuscsrutil disable — not recommended for production/System, /usr (except /usr/local), /sbin, /binlog stream --predicate 'process == "processname"'log show --last 1h --predicate 'eventMessage contains "error"'log show --predicate 'subsystem == "com.apple.example"'log collect --output ./logs.logarchive — opens in Console.appopen "https://example.com" — uses default browseropen -a "Safari" — by name, not pathopen -a "TextEdit" file.txtosascript -e 'tell application "Finder" to get name of home'mdfind "kMDItemDisplayName == 'filename.txt'" — faster than find for indexed filesNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.