macOS には、GUI サブシステムやデーモン、システムサービスをターミナルから直接制御するための Darwin UNIX コマンドが多数用意されています。
システムサービスとデーモン配置パス
~/Library/LaunchAgents # ユーザー自身が配置するエージェント
/Library/LaunchAgents/ # 管理者が配置するユーザー単位のエージェント
/Library/LaunchDaemons/ # 管理者が配置するシステム全体のデーモン
/System/Library/LaunchAgents/ # macOS 標準のユーザー単位エージェント
/System/Library/LaunchDaemons/ # macOS 標準のシステムデーモン
実行中のサービス一覧を表示:
launchctl list
Finder と Dock の環境設定変更
# デスクトップアイコンの一括非表示 / 表示
defaults write com.apple.finder CreateDesktop -bool false && killall Finder
defaults write com.apple.finder CreateDesktop -bool true && killall Finder
# Dock のシングルアプリケーションモード (開いたアプリ以外を隠す)
defaults write com.apple.dock single-app -bool true && killall Dock
defaults delete com.apple.dock single-app && killall Dock
# Finder で隠しファイルを表示
defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder
ネットワークと DNS キャッシュ
# DNS リゾルバのキャッシュをフラッシュ
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# ターミナルから SOCKS プロキシを設定
sudo networksetup -setsocksfirewallproxy Wi-Fi 127.0.0.1 1080
sudo networksetup -setsocksfirewallproxystate Wi-Fi on
sudo networksetup -setsocksfirewallproxystate Wi-Fi off
Spotlight インデックス管理 (mdutil)
# 全ボリュームで Spotlight インデックス作成を無効化
sudo mdutil -a -i off
# 特定のドライブでインデックス作成を無効化
sudo mdutil -i off /Volumes/ExternalDrive
# 特定ディレクトリを Spotlight の検索対象から除外
touch /path/to/folder/.metadata_never_index
macOS 必須コマンドラインユーティリティ
| ツール | 用途 | 実行例 |
|---|---|---|
open |
ダブルクリックした時のようにファイル・URL・アプリを開く | open -a "Google Chrome" https://example.com |
pbcopy |
標準入力をクリップボードにコピー | cat id_rsa.pub | pbcopy |
pbpaste |
クリップボードの内容を標準出力に出力 | pbpaste > output.txt |
sips |
スクリプト実行可能な画像変換・リサイズシステム | sips -Z 640 image.jpg |
screencapture |
CLI からスクリーンショットを撮影 | screencapture -i screenshot.png |
textutil |
テキスト形式の一括変換 (HTML, docx, rtf) | textutil -convert html document.rtf |
tmutil |
Time Machine バックアップの管理と制御 | tmutil startbackup |
mdfind |
Spotlight データベースを利用した高速ファイル検索 | mdfind "kMDItemKind == 'PDF'" |