返回顶部
m

macOSmacOS系统管理

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

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

macOS

BSD 与 GNU 命令对比

  • - sed -i 需要扩展参数:sed -i s/a/b/ file — 空字符串表示不备份,Linux 不需要此参数
  • find 不支持 -printf — 改用 -exec stat 或配合 stat -f 的 xargs
  • date 使用不同的格式标志:date -j -f %Y-%m-%d 2024-01-15 +%s — -j 防止设置时间
  • grep -P(Perl 正则)不存在 — 改用 grep -E(扩展正则)或通过 Homebrew 安装 ggrep
  • xargs 默认使用 /usr/bin/echo 而非指定命令 — 务必显式指定命令
  • readlink -f 不存在 — 改用 realpath 或 python3 -c import os; print(os.path.realpath(path))

Homebrew 路径

  • - Apple Silicon:/opt/homebrew/bin、/opt/homebrew/lib
  • Intel:/usr/local/bin、/usr/local/lib
  • 检查架构:uname -m 返回 arm64 或 x8664
  • Homebrew 不会自动添加到 PATH — 检查 ~/.zprofile 中的 eval 行
  • 运行 x86 二进制文件:arch -x8664 /bin/bash 然后安装/运行仅限 Intel 的工具

钥匙串(密钥管理)

  • - 存储:security add-generic-password -a $USER -s servicename -w secretvalue -U
  • 检索:security find-generic-password -a $USER -s servicename -w
  • -U 标志在存在时更新 — 不加此标志会导致重复条目错误
  • 首次使用钥匙串会提示访问权限 — 为自动化永久授权
  • 删除:security delete-generic-password -a $USER -s servicename

launchd(服务管理)

  • - 用户代理:~/Library/LaunchAgents/ — 用户登录后以用户身份运行
  • 系统守护进程:/Library/LaunchDaemons/ — 开机以 root 身份运行
  • 加载:launchctl load -w ~/Library/LaunchAgents/com.example.plist
  • 编辑前先卸载:launchctl unload — 已加载的 plist 文件修改会被忽略
  • 检查错误:launchctl list | grep servicename 然后 launchctl error code>
  • 日志:log show --predicate subsystem == com.example --last 1h

隐私权限(TCC)

  • - 没有完全磁盘访问或自动化权限时,自动化脚本会静默失败
  • 在系统设置 → 隐私与安全性 → 对应类别中授予权限
  • 终端和 iTerm 需要分别授权 — 授权一个不会自动授权另一个
  • tccutil reset 清除权限:tccutil reset AppleEvents 用于自动化
  • 检查已授予的权限:sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db SELECT * FROM access

defaults(偏好设置)

  • - 读取:defaults read com.apple.finder AppleShowAllFiles
  • 写入:defaults write com.apple.finder AppleShowAllFiles -bool true
  • 删除:defaults delete com.apple.finder AppleShowAllFiles
  • 修改后重启应用:killall Finder
  • 查找应用包 ID:osascript -e id of app App Name
  • 导出全部:defaults export com.apple.finder - 输出 XML

文件操作

  • - ditto 保留资源分支和元数据 — 处理应用包时替代 cp
  • 创建 DMG:hdiutil create -volname Name -srcfolder ./folder -format UDZO output.dmg
  • 挂载 DMG:hdiutil attach image.dmg — 返回挂载点路径
  • 卸载:hdiutil detach /Volumes/Name
  • 扩展属性:xattr -l file 列出,xattr -c file 清除所有
  • 移除隔离标记:xattr -d com.apple.quarantine app.app

剪贴板

  • - 复制到剪贴板:echo text | pbcopy
  • 从剪贴板粘贴:pbpaste
  • 复制文件内容:pbcopy < file.txt
  • 保留 RTF 格式:pbpaste -Prefer rtf
  • 剪贴板在 SSH 会话中可作用于本地机器 — 适合远程文件复制

截屏与录屏

  • - 截取区域到文件:screencapture -i output.png
  • 截取窗口:screencapture -w output.png
  • 截取到剪贴板:screencapture -c
  • 无界面模式:screencapture -x — 静音且隐藏光标
  • 屏幕录制需要在隐私设置中授予屏幕录制权限

进程管理

  • - 阻止睡眠:caffeinate -i command — 命令运行时保持系统唤醒
  • 定时阻止睡眠:caffeinate -t 3600 — 1 小时
  • 检查未睡眠原因:pmset -g assertions
  • 电源设置:pmset -g 查看,sudo pmset -a sleep 0 禁用睡眠
  • 当前焦点应用:osascript -e tell application System Events to get name of first process whose frontmost is true

网络

  • - 列出接口:networksetup -listallhardwareports
  • 获取 IP:ipconfig getifaddr en0(笔记本电脑上 Wi-Fi 通常为 en0)
  • DNS 服务器:scutil --dns | grep nameserver
  • 刷新 DNS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • 代理设置:networksetup -getwebproxy Wi-Fi

系统完整性保护

  • - 检查状态:csrutil status
  • 禁用(仅恢复模式):csrutil disable — 不建议在生产环境使用
  • 受保护路径:/System、/usr(/usr/local 除外)、/sbin、/bin
  • 即使以 root 身份也无法修改这些路径 — 设计自动化时需考虑此限制

日志

  • - 实时流式输出:log stream --predicate process == processname
  • 搜索近期日志:log show --last 1h --predicate eventMessage contains error
  • 按子系统过滤:log show --predicate subsystem == com.apple.example
  • 保存到文件:log collect --output ./logs.logarchive — 可在控制台应用中打开

自动化技巧

  • - 打开 URL:open https://example.com — 使用默认浏览器
  • 打开应用:open -a Safari — 按名称而非路径
  • 用指定应用打开文件:open -a TextEdit file.txt
  • 运行 AppleScript:osascript -e tell application Finder to get name of home
  • Spotlight 搜索:mdfind kMDItemDisplayName == filename.txt — 对已索引文件比 find 更快

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 macos-1776325695 技能

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

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

通过命令行安装

skillhub install macos-1776325695

下载

⬇ 下载 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
返回顶部