返回顶部
🇺🇸 English
🇨🇳 简体中文
🇨🇳 繁體中文
🇺🇸 English
🇯🇵 日本語
🇰🇷 한국어
🇫🇷 Français
🇩🇪 Deutsch
🇪🇸 Español
🇷🇺 Русский
m

macOS

macOS system administration, command-line differences from Linux, and automation best practices.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
2,503
下载量
2
收藏
概述
安装方式
版本历史

macOS

## BSD vs GNU Commands - `sed -i` requires extension argument: `sed -i '' 's/a/b/' file` — empty string for no backup, Linux doesn't need it - `find` doesn't support `-printf` — use `-exec stat` or `xargs` with `stat -f` instead - `date` uses different format flags: `date -j -f '%Y-%m-%d' '2024-01-15' '+%s'` — `-j` prevents setting time - `grep -P` (Perl regex) doesn't exist — use `grep -E` (extended) or install `ggrep` via Homebrew - `xargs` defaults to `/usr/bin/echo` not the command — always specify the command explicitly - `readlink -f` doesn't exist — use `realpath` or `python3 -c "import os; print(os.path.realpath('path'))"` ## Homebrew Paths - Apple Silicon: `/opt/homebrew/bin`, `/opt/homebrew/lib` - Intel: `/usr/local/bin`, `/usr/local/lib` - Check architecture: `uname -m` returns `arm64` or `x86_64` - Homebrew doesn't add to PATH automatically — check `~/.zprofile` for eval line - Running x86 binaries: `arch -x86_64 /bin/bash` then install/run Intel-only tools ## Keychain (Secrets) - Store: `security add-generic-password -a "$USER" -s "service_name" -w "secret_value" -U` - Retrieve: `security find-generic-password -a "$USER" -s "service_name" -w` - `-U` flag updates if exists — without it, duplicate entries error - Keychain prompts for access on first use — authorize permanently for automation - Delete: `security delete-generic-password -a "$USER" -s "service_name"` ## launchd (Services) - User agents: `~/Library/LaunchAgents/` — runs as user when logged in - System daemons: `/Library/LaunchDaemons/` — runs at boot as root - Load: `launchctl load -w ~/Library/LaunchAgents/com.example.plist` - Unload before editing: `launchctl unload` — edits to loaded plists are ignored - Check errors: `launchctl list | grep service_name` then `launchctl error <exit_code>` - Logs: `log show --predicate 'subsystem == "com.example"' --last 1h` ## Privacy Permissions (TCC) - Automation scripts fail silently without Full Disk Access or Automation permissions - Grant in System Settings → Privacy & Security → corresponding category - Terminal and iTerm need separate permissions — granting to one doesn't grant to other - `tccutil reset` clears permissions: `tccutil reset AppleEvents` for Automation - Check granted permissions: `sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT * FROM access"` ## defaults (Preferences) - Read: `defaults read com.apple.finder AppleShowAllFiles` - Write: `defaults write com.apple.finder AppleShowAllFiles -bool true` - Delete: `defaults delete com.apple.finder AppleShowAllFiles` - Restart app after changing: `killall Finder` - Find app bundle ID: `osascript -e 'id of app "App Name"'` - Export all: `defaults export com.apple.finder -` outputs XML ## File Operations - `ditto` preserves resource forks and metadata — use instead of `cp` for app bundles - Create DMG: `hdiutil create -volname "Name" -srcfolder ./folder -format UDZO output.dmg` - Mount DMG: `hdiutil attach image.dmg` — returns mount point path - Unmount: `hdiutil detach /Volumes/Name` - Extended attributes: `xattr -l file` to list, `xattr -c file` to clear all - Quarantine removal: `xattr -d com.apple.quarantine app.app` ## Clipboard - Copy to clipboard: `echo "text" | pbcopy` - Paste from clipboard: `pbpaste` - Copy file contents: `pbcopy < file.txt` - Preserve RTF: `pbpaste -Prefer rtf` - Clipboard works in SSH sessions to local machine — useful for remote file copying ## Screenshots and Screen - Screenshot region to file: `screencapture -i output.png` - Screenshot window: `screencapture -w output.png` - Screenshot to clipboard: `screencapture -c` - Headless (no UI): `screencapture -x` — suppresses sound and cursor - Screen recording requires Screen Recording permission in Privacy settings ## Process Management - Prevent sleep: `caffeinate -i command` — keeps system awake while command runs - Prevent sleep with timeout: `caffeinate -t 3600` — 1 hour - Check why not sleeping: `pmset -g assertions` - Power settings: `pmset -g` to view, `sudo pmset -a sleep 0` to disable sleep - Current app in focus: `osascript -e 'tell application "System Events" to get name of first process whose frontmost is true'` ## Network - List interfaces: `networksetup -listallhardwareports` - Get IP: `ipconfig getifaddr en0` (Wi-Fi usually en0 on laptops) - DNS servers: `scutil --dns | grep nameserver` - Flush DNS: `sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder` - Proxy settings: `networksetup -getwebproxy "Wi-Fi"` ## System Integrity Protection - Check status: `csrutil status` - Disable (Recovery Mode only): `csrutil disable` — not recommended for production - Protected paths: `/System`, `/usr` (except `/usr/local`), `/sbin`, `/bin` - Can't modify these even as root — design your automations around this ## Logs - Stream live: `log stream --predicate 'process == "processname"'` - Search recent: `log show --last 1h --predicate 'eventMessage contains "error"'` - Subsystem filter: `log show --predicate 'subsystem == "com.apple.example"'` - Save to file: `log collect --output ./logs.logarchive` — opens in Console.app ## Automation Tips - Open URL: `open "https://example.com"` — uses default browser - Open app: `open -a "Safari"` — by name, not path - Open file with specific app: `open -a "TextEdit" file.txt` - Run AppleScript: `osascript -e 'tell application "Finder" to get name of home'` - Spotlight search: `mdfind "kMDItemDisplayName == 'filename.txt'"` — faster than find for indexed files

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 macos-1776325695 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 macos-1776325695 技能

通过命令行安装

skillhub install macos-1776325695

下载 Zip 包

⬇ 下载 macOS v1.0.0

文件大小: 3.19 KB | 发布时间: 2026-4-17 14:11

v1.0.0 最新 2026-4-17 14:11
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部