リファレンス
macOSターミナル コマンド集
macOSのターミナルで役立つ、macOS特有・便利なコマンドを目的別に引くためのページです。基本操作はLinuxと共通なので、まずは 📓 Linuxコマンドのページをベースに、ここでプラスアルファを押さえてください。
macOSの中身はUnix系(BSD由来)なので、ls cd grep find といったLinuxコマンドの多くがそのまま使えます(→ 📓 Linuxコマンドのページ参照)。このページは brew や open pbcopy のような macOS特有・便利なものを中心にまとめます。標準シェルは zsh です。
Homebrew — パッケージ管理の定番
macOSにソフトを入れるならまずこれ。LinuxでいうaptやdnfにあたるmacOSの事実上の標準です。
| コマンド | 意味・用途 |
|---|---|
brew install 名前 | パッケージをインストール。例 brew install wget |
brew uninstall 名前 | パッケージを削除 |
brew upgrade | 入れているものをまとめて更新。brew upgrade 名前で個別に |
brew update | Homebrew自身とパッケージ情報を最新化(upgradeの前に) |
brew search 語 | 入れられるパッケージを検索 |
brew list | インストール済みの一覧を表示 |
brew info 名前 | パッケージの詳細・依存関係・バージョンを確認 |
brew doctor | 環境の問題を診断。「なんか調子が悪い」ときの最初の一手 |
brew install --cask 名前 | GUIアプリ(Chrome等)をインストール。--caskがアプリ用 |
brew cleanup | 古いバージョンやキャッシュを削除して容量を回収 |
ファイルとアプリを開く
open はmacOSの万能コマンド。Finderやアプリと橋渡しできます。
| コマンド | 意味・用途 |
|---|---|
open ファイル | 既定のアプリでファイルを開く(ダブルクリック相当) |
open . | 今いるディレクトリをFinderで開く。地味に一番使う |
open -a "アプリ名" ファイル | 指定アプリで開く。例 open -a "Visual Studio Code" . |
open https://example.com | URLを既定ブラウザで開く |
open -R ファイル | Finderでそのファイルを選択状態で表示(Reveal) |
open -e ファイル | テキストエディットで開く |
クリップボード
ターミナルとGUIのコピペをつなぐ2つ。パイプと相性抜群です。
| コマンド | 意味・用途 |
|---|---|
pbcopy | 標準入力の内容をクリップボードへコピー。例 ls | pbcopy |
pbpaste | クリップボードの内容を標準出力へ貼り付け。例 pbpaste > memo.txt |
pbpaste | pbcopy | クリップボードを一度通し直す(書式を落としてプレーン化する用途など) |
$ pwd | pbcopy # 今のパスをコピーしてSlackやメモにペーストしやすくする
$ cat config.json | pbcopy # ファイルの中身をそのままクリップボードへ
検索(Spotlight)
Spotlightの索引をコマンドから使えます。findより高速なことも。
| コマンド | 意味・用途 |
|---|---|
mdfind 語 | Spotlightの索引で全文・ファイル名を高速検索 |
mdfind -name ファイル名 | ファイル名で検索 |
mdfind -onlyin ディレクトリ 語 | 指定フォルダ内に絞って検索 |
mdls ファイル | そのファイルのメタデータ(作成日・種類・寸法など)を一覧表示 |
システム設定・情報
GUIの設定をコマンドで変える、システム情報を調べる。
| コマンド | 意味・用途 |
|---|---|
defaults read ドメイン | アプリ・システムの設定値を読み取る |
defaults write ドメイン キー 値 | 設定を書き換えてカスタマイズ。変更後はアプリ再起動が必要なことも |
sw_vers | macOSのバージョン・ビルド番号を表示 |
softwareupdate -l | OSアップデートの一覧確認。softwareupdate -i -aで全適用 |
system_profiler SPHardwareDataType | ハードウェア情報(モデル・CPU・メモリ)を表示。項目名で絞れる |
uname -a | カーネル情報。Darwin(macOSの土台)であることが分かる |
defaults write はシステムの隠し設定まで変えられて便利ですが、キーや値を間違えるとアプリが起動しなくなることもあります。変更前に defaults read で元の値を控えておくのが安全です。ネットで見つけた設定を貼る前に、何のドメイン・キーかを確認しましょう。
ディスク・ボリューム
ディスクの確認・操作は diskutil に集約されています。
| コマンド | 意味・用途 |
|---|---|
diskutil list | ディスクとパーティションの一覧を表示 |
diskutil info /dev/disk0 | 指定ディスクの詳細情報(容量・形式・状態) |
diskutil mount /dev/disk2s1 | ボリュームをマウント。unmountでアンマウント |
df -h | 空き容量を見やすい単位で(Linuxと共通) |
便利ユーティリティ
macOSならではの小粋なコマンド群。知っていると作業が快適になります。
| コマンド | 意味・用途 |
|---|---|
say "テキスト" | 文字を読み上げる。長い処理の完了通知に コマンド; say done など |
caffeinate | スリープを防止。caffeinate -t 3600で1時間、caffeinate コマンドで処理中だけ起こしておく |
screencapture 名前.png | スクリーンショットを撮影。-iで範囲選択、-T 5で5秒後 |
pmset -g | 電源管理の設定を表示。pmset -g battでバッテリー状態 |
networksetup -listallnetworkservices | ネットワークサービス(Wi-Fi・Ethernet等)の一覧 |
afplay 音声.mp3 | 音声ファイルを再生。通知音代わりにも |
ネットワーク
macOSはLinuxと違い ifconfig が現役。DNSキャッシュ操作なども独特です。
| コマンド | 意味・用途 |
|---|---|
ifconfig | ネットワークインターフェースとIPアドレスを表示(macOSでは現役) |
networksetup -listallhardwareports | ハードウェアポート(Wi-Fi/Ethernet)とデバイス名の対応を確認 |
networksetup -getinfo "Wi-Fi" | 指定サービスのIP・サブネット・ルーターを表示 |
sudo dscacheutil -flushcache | DNSキャッシュをクリア(名前解決がおかしいとき)。合わせて次行も実行 |
sudo killall -HUP mDNSResponder | DNS応答プロセスを再読み込み。上のキャッシュクリアとセットで使う |
ping ホスト / curl URL | 疎通確認・通信(Linuxと共通) |
macOSとLinuxの違い
同じ名前でも中身が違うことがあります。macOSはBSD系、Linuxの多くはGNU系のコマンドを積んでいるためです。実務でハマりやすい差を押さえましょう。
| 場面 | macOS(BSD系) | Linux(GNU系) |
|---|---|---|
sed -iの書式 | 拡張子引数が必須 sed -i '' 's/a/b/' f | そのまま sed -i 's/a/b/' f |
lsの色付け | ls -G | ls --color=auto |
| コマンドの由来 | BSD版(ls sed date 等) | GNU coreutils版 |
| 並べ替えなどの細かなオプション | 一部が非対応・別名 | GNU拡張オプションが豊富 |
スクリプトをmacOSとLinuxで共通に動かしたいときは、Homebrewで brew install coreutils gnu-sed grep を入れると、GNU版が使えます(gsed gls ggrep のように g 付きの名前になります)。PATHやエイリアスで g なしに寄せることもできます。ネットのLinux向けコマンド例をそのまま流したいなら、この一手が効きます。
近年のmacOSの標準シェルは zsh です(以前は bash)。設定ファイルは ~/.zshrc。標準の「ターミナル.app」で十分ですが、タブ分割や履歴検索が強力な iTerm2 も定番です。エイリアスや履歴活用のコツは 📓 便利技・時短術のページにまとめています。
macOSには、身元不明のアプリの実行を止める Gatekeeper と、システム領域をrootでも触れないように守る SIP(System Integrity Protection) という保護機構があります。これらは「うっかり」や「悪意あるソフト」からMacを守る仕組みなので、ネット記事に従って安易に無効化(spctl や csrutil disable)しないでください。どうしても必要な場面以外は、有効なままにしておくのが安全です。sudo の扱いはLinuxと同じで、必要なときだけ管理者権限を借りるのが原則です(コンピュータ大全コース第7章)。とくにネットからダウンロードしたスクリプトを sudo で走らせる前には、中身を less で読んで「何をするか」を必ず確かめましょう。curl ... | sudo bash のように、取得したものを確認せず直接実行するのは避けるのが賢明です。