Macユーザー必見!ターミナルで使える便利なコマンド総まとめ
はじめに
macOSは美しいグラフィカルユーザーインターフェース(GUI)で知られていますが、実はターミナルを使うことで、システムの奥深い部分にアクセスし、さまざまなカスタマイズや作業の効率化ができます。特に「defaults write」コマンドを使えば、通常のシステム設定ではアクセスできない隠れた設定を変更できるんですよね。また、macOS特有の「open」や「pbcopy」などのコマンドは、日常的な作業をとても効率化してくれます。
本記事では、Macユーザーの皆さんに役立つターミナルコマンドを、特に「defaults write」コマンドに焦点を当てつつ、包括的に紹介します。これらのコマンドを習得することで、あなたのMac体験はより豊かになることでしょう。
目次
- defaults writeコマンドの基礎
- スクリーンショット関連の設定
- Dock関連の設定
- Finder関連の設定
- Safari関連の設定
- システム全般の設定
- Mac特有の便利コマンド
- 設定のリセット方法
- まとめと活用のヒント
<a id="defaults-writeコマンドの基礎"></a>
1. defaults writeコマンドの基礎
defaults
コマンドは、macOSのユーザー設定データベース(defaults system)を操作するためのコマンドです。このコマンドを使用することで、GUIでは変更できない設定も含め、システムの様々な設定を変更できます。
基本的な構文
defaults write [ドメイン] [キー] [値]
- ドメイン: 設定を変更するアプリケーションやシステムコンポーネントのバンドルID
- キー: 変更する設定の識別子
- 値: 設定する値
値の型
値には以下の型があります:
-
-string
: 文字列 -
-int
: 整数 -
-float
: 浮動小数点数 -
-bool
: 真偽値(YES/NO) -
-array
: 配列 -
-dict
: 辞書 -
-date
: 日付
現在の設定を確認する
特定のドメインの現在の設定を確認するには:
defaults read [ドメイン]
特定のキーの設定を確認するには:
defaults read [ドメイン] [キー]
システム全体の設定を確認するには(出力が膨大になるので注意):
defaults read
設定変更後は、多くの場合、アプリケーションを再起動するか、以下のコマンドでシステムの設定をリロードする必要があります:
killall Finder # Finderの設定を変更した場合
killall Dock # Dockの設定を変更した場合
killall SystemUIServer # メニューバーの設定を変更した場合
これで基本的な操作方法がわかりましたね。それでは具体的な活用例を見ていきましょう。
<a id="スクリーンショット関連の設定"></a>
2. スクリーンショット関連の設定
macOSのスクリーンショット機能は非常に便利ですが、defaults writeコマンドを使えばさらにカスタマイズできます。こちらの設定はとても重宝しますよ。
スクリーンショットのファイル名を変更する
defaults write com.apple.screencapture name "新しいファイル名"
killall SystemUIServer
デフォルトでは「スクリーンショット [日付] [時刻]」という形式ですが、これを任意の名前に変更できます。例えば「Screenshot_」に設定すれば、「Screenshot_2023-01-01」のような名前になります。
スクリーンショットの保存形式を変更する
defaults write com.apple.screencapture type jpg
killall SystemUIServer
デフォルトはPNG形式ですが、jpg、pdf、tiff、gif、pngなど様々な形式に変更可能です。容量を節約したい場合はjpgがおすすめですね。
スクリーンショットの保存先を変更する
defaults write com.apple.screencapture location ~/Pictures/Screenshots
killall SystemUIServer
デフォルトではデスクトップに保存されますが、任意のフォルダに変更できます。スクリーンショットをよく撮る方は、専用フォルダを作っておくと整理がしやすくなりますよ。
スクリーンショットの影を無効にする
defaults write com.apple.screencapture disable-shadow -bool true
killall SystemUIServer
デフォルトではウィンドウのスクリーンショットに影がつきますが、この設定で影を無効にできます。純粋なウィンドウの見た目だけを撮影したい場合に便利です。
スクリーンショットにウィンドウのタイトルバーを含める
defaults write com.apple.screencapture show-thumbnail -bool true
killall SystemUIServer
この設定を有効にすると、スクリーンショットを撮った後にサムネイルが表示されるようになります。撮ったばかりのスクリーンショットをすぐに確認・編集したい場合に便利ですよね。
スクリーンショットに日付を追加しない
defaults write com.apple.screencapture include-date -bool false
killall SystemUIServer
ファイル名から日付部分を完全に除外したい場合はこの設定が便利です。
<a id="dock関連の設定"></a>
3. Dock関連の設定
Dockはmacの象徴的な機能の一つですが、defaults writeコマンドでさらに使いやすくカスタマイズできます。
Dockの表示/非表示のアニメーション時間を変更する
defaults write com.apple.dock autohide-time-modifier -float 0.5
killall Dock
数値が小さいほど速くなります。0にすると瞬時に表示/非表示が切り替わります。デフォルトは1.0です。個人的には0.3〜0.5くらいがちょうど良いと感じますね。
Dockの表示/非表示の遅延時間を変更する
defaults write com.apple.dock autohide-delay -float 0
killall Dock
マウスカーソルをDockの位置に移動してから、Dockが表示されるまでの遅延時間を調整します。0にするとカーソルを移動した瞬間に表示されるようになります。
Dockに最近使用したアプリケーションを表示しない
defaults write com.apple.dock show-recents -bool false
killall Dock
Dockの右側に表示される「最近使用したアプリケーション」の部分を非表示にします。Dockをすっきりさせたい方におすすめです。
Dockのアイコンサイズを変更する
defaults write com.apple.dock tilesize -int 36
killall Dock
数値を変えることでDockのアイコンサイズを調整できます。デスクトップのスペースを有効活用したい場合は小さめに、視認性を重視する場合は大きめにするといいでしょう。
Dockの拡大効果を有効にする
defaults write com.apple.dock magnification -bool true
defaults write com.apple.dock largesize -int 64
killall Dock
マウスカーソルを重ねた時にDockのアイコンが拡大する効果を設定します。largesizeで拡大時のサイズを指定できます。たくさんのアプリをDockに入れている場合、この効果があると見やすくなりますよ。
Dockを画面の左側/右側に配置する
defaults write com.apple.dock orientation -string left
killall Dock
デフォルトでは画面の下部に表示されますが、left
やright
に変更することで位置を変えられます。縦長のディスプレイを使っている場合は、左右に配置する方が画面を有効活用できることもありますね。
Dock上のアプリに通知バッジを表示しない
defaults write com.apple.dock hide-notification-badges -bool true
killall Dock
通知が多すぎて気が散る場合は、この設定でバッジを非表示にするとスッキリします。
<a id="finder関連の設定"></a>
4. Finder関連の設定
Finderは日常的に使うファイル管理ツールです。defaults writeコマンドで使いやすくカスタマイズしましょう。
隠しファイルを表示する
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
通常は表示されない「.」で始まる隠しファイルを表示するようにします。開発作業をする方には必須の設定ですね。
すべてのファイル拡張子を表示する
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
killall Finder
デフォルトでは一部のファイル拡張子が非表示になっていますが、この設定ですべての拡張子を表示できます。ファイルの種類をひと目で判断しやすくなるので便利です。
パスバーを表示する
defaults write com.apple.finder ShowPathbar -bool true
killall Finder
Finderウィンドウの下部にパスバーを表示します。今どのフォルダにいるのか把握しやすくなりますよ。
ステータスバーを表示する
defaults write com.apple.finder ShowStatusBar -bool true
killall Finder
Finderウィンドウの下部にステータスバーを表示します。選択しているファイルの数や空き容量が表示されるので便利です。
新しいFinderウィンドウでホームディレクトリを開く
defaults write com.apple.finder NewWindowTarget -string "PfHm"
killall Finder
新しいFinderウィンドウを開いた時に、デフォルトでホームディレクトリが開くようになります。他にも以下のオプションがあります:
-
PfDe
: デスクトップ -
PfDo
: 書類 -
PfHm
: ホームフォルダ -
PfVo
: ボリューム(ハードディスクなど)
検索時にデフォルトで現在のフォルダを検索する
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
killall Finder
Finderで検索を開始した時に、デフォルトで現在開いているフォルダを検索するようになります。思っていたよりも便利なこの設定、一度試してみる価値ありですよ。
フォルダ内のアイテム数を表示する
defaults write com.apple.finder ShowItemInfo -bool true
killall Finder
アイコン表示モードで、フォルダの下にフォルダ内のアイテム数を表示します。整理整頓がしやすくなりますね。
デスクトップアイコンを非表示にする
defaults write com.apple.finder CreateDesktop -bool false
killall Finder
デスクトップからすべてのアイコンを非表示にします。クリーンなデスクトップを保ちたい方におすすめです。
<a id="safari関連の設定"></a>
5. Safari関連の設定
macOSの標準ブラウザであるSafariも、defaults writeコマンドでカスタマイズできます。
デバッグメニューを有効にする
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
Safariに通常は表示されないデバッグメニューを表示します。開発者向けの高度な機能にアクセスできるようになります。
開発メニューを有効にする
defaults write com.apple.Safari IncludeDevelopMenu -bool true
Safariのメニューバーに「開発」メニューを表示します。Web開発者にとっては必須の設定です。
Safariのバックスペースキーで前のページに戻る機能を有効にする
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool true
古いバージョンのSafariでは、バックスペースキーで前のページに戻れましたが、最近のバージョンではデフォルトで無効になっています。この設定で復活させることができますよ。
PDFをブラウザ内で開かずにダウンロードする
defaults write com.apple.Safari WebKitOmitPDFSupport -bool true
PDFリンクをクリックした時に、ブラウザ内で開かずに自動的にダウンロードするようになります。
オートフィルを無効にする
defaults write com.apple.Safari AutoFillFromAddressBook -bool false
defaults write com.apple.Safari AutoFillPasswords -bool false
defaults write com.apple.Safari AutoFillCreditCardData -bool false
defaults write com.apple.Safari AutoFillMiscellaneousForms -bool false
各種オートフィル機能を無効にします。セキュリティを重視する場合や、共有コンピューターを使用している場合に便利です。
プラグインの自動更新を無効にする
defaults write com.apple.Safari InstallExtensionUpdatesAutomatically -bool false
Safariの拡張機能の自動更新を無効にします。更新内容を確認してから手動で更新したい場合に使用します。
<a id="システム全般の設定"></a>
6. システム全般の設定
macOSのシステム全般に関わる設定もdefaults writeコマンドで変更できます。
スクロールバーを常に表示する
defaults write NSGlobalDomain AppleShowScrollBars -string "Always"
デフォルトではスクロールバーは使用時のみ表示されますが、この設定で常に表示させることができます。選択肢はAutomatic
、WhenScrolling
、Always
の3つです。
ダイアログの自動展開を有効にする
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
「保存」ダイアログが開かれた時に、自動的に展開された状態で表示されるようになります。ファイル名や保存先をすぐに変更したい場合に便利です。
アプリケーションを終了してもウィンドウの状態を保持する
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool true
アプリケーションを終了しても、次回起動時に前回のウィンドウの状態が復元されるようになります。作業の続きをすぐに再開したい場合におすすめです。
自動スペルチェックを無効にする
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
自動スペルチェック機能を無効にします。誤変換が多くてストレスに感じる場合に便利ですね。
キーのリピート速度を速くする
defaults write NSGlobalDomain KeyRepeat -int 2
defaults write NSGlobalDomain InitialKeyRepeat -int 15
キーを押し続けた時のリピート速度を速くします。数値が小さいほど速くなります。タイピングが速い方は、この設定を調整すると快適になりますよ。
スマート引用符と自動ダッシュを無効にする
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false
通常の引用符が自動的にスマート引用符("" や '')に変換される機能と、ハイフンがダッシュに自動変換される機能を無効にします。プログラミングをする方には特におすすめです。
システム全体でスムーズスクロールを無効にする
defaults write NSGlobalDomain NSScrollAnimationEnabled -bool false
スクロール時のアニメーション効果を無効にします。古いMacを使用している場合、動作が軽くなることがあります。
メニューバーを自動的に隠す
defaults write NSGlobalDomain _HIHideMenuBar -bool true
画面上部のメニューバーを自動的に隠すようにします。画面スペースを最大限に活用したい場合におすすめです。
<a id="mac特有の便利コマンド"></a>
7. Mac特有の便利コマンド
macOSには、Linux や Windows にはない独自のコマンドがいくつかあります。ここではそれらの便利なコマンドを紹介します。特に開発者の方には重宝するものが多いですよ。
open コマンド
open
コマンドは、ファイルやディレクトリをGUIアプリケーションで開くための強力なコマンドです。
# 指定したファイルをデフォルトのアプリケーションで開く
open filename.txt
# 指定したディレクトリをFinderで開く
open ~/Documents
# 指定したURLをデフォルトのブラウザで開く
open https://www.apple.com
# 指定したアプリケーションで特定のファイルを開く
open -a "Microsoft Word" document.docx
# ファイルを選択した状態でFinderで開く
open -R filename.txt
CLIからGUIへのブリッジとして非常に便利なこのコマンド、スクリプトを作成する時にも重宝します。
pbcopy と pbpaste コマンド
これらのコマンドは、コマンドラインとクリップボードの間でデータをやり取りするためのものです。
# テキストをクリップボードにコピー
echo "Hello, Mac!" | pbcopy
# ファイルの内容をクリップボードにコピー
cat file.txt | pbcopy
# クリップボードの内容を出力
pbpaste
# クリップボードの内容をファイルに保存
pbpaste > clipboard_contents.txt
テキスト処理の作業フローをスムーズにするこれらのコマンド、一度使うとその便利さに驚くことでしょう。
say コマンド
テキストを音声に変換して読み上げるコマンドです。
# 指定したテキストを読み上げる
say "Hello, Mac user!"
# 異なる声で読み上げる
say -v Kyoko "こんにちは、私の名前はキョウコです。"
# 使用可能な音声の一覧を表示
say -v '?'
# テキストファイルの内容を読み上げる
say -f document.txt
# 読み上げた音声をファイルに保存
say -o output.aiff "This is a test"
長い文書の校正や、ちょっとした休憩時間の遊びにも使えますね。
mdfind コマンド
Spotlight検索のコマンドライン版です。システム全体のファイルを高速に検索できます。
# 指定した単語を含むファイルを検索
mdfind "keyword"
# 特定のディレクトリ内で検索
mdfind -onlyin ~/Documents "keyword"
# ファイル名で検索
mdfind "name:filename.txt"
# 複合条件で検索(AND条件)
mdfind "keyword1 keyword2"
# メタデータ属性で検索
mdfind "kMDItemTextContent == '*keyword*'"
Spotlightのインデックスを活用するので、find
コマンドよりも圧倒的に高速です。大量のファイルから特定のものを探す時に非常に便利ですよ。
screencapture コマンド
スクリーンショットを撮影するためのコマンドラインツールです。
# 画面全体のスクリーンショットを撮影
screencapture screenshot.png
# 選択した領域のスクリーンショットを撮影
screencapture -i screenshot.png
# ウィンドウのスクリーンショットを撮影
screencapture -w screenshot.png
# スクリーンショットをクリップボードにコピー
screencapture -c
# 10秒の遅延後にスクリーンショットを撮影
screencapture -T 10 screenshot.png
# 特定の形式でスクリーンショットを保存
screencapture -t jpg screenshot.jpg
スクリーンショットの自動化やバッチ処理に役立ちます。
airport コマンド
Wi-Fi関連の操作を行うためのコマンドです。
# Wi-Fi情報を表示
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
# Wi-Fiをスキャンして利用可能なネットワークを表示
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
# 特定のWi-Fiネットワークに接続
networksetup -setairportnetwork en0 "SSID" "password"
# Wi-Fiをオフにする
networksetup -setairportpower en0 off
# Wi-Fiをオンにする
networksetup -setairportpower en0 on
長いパスが少し面倒ですが、エイリアスを設定しておくと便利に使えます。Wi-Fiのトラブルシューティングや自動化に役立ちますね。
sips コマンド
画像処理を行うためのコマンドラインツールです。
# 画像のサイズを変更
sips -z 300 200 image.jpg
# 画像の形式を変換
sips -s format png image.jpg --out image.png
# 画像を回転
sips -r 90 image.jpg
# 画像のメタデータを表示
sips -g all image.jpg
# 複数の画像を一括処理
sips -Z 800 *.jpg
シンプルな画像加工ならPhotoshopを起動せずにコマンドラインで済ませられるのは便利ですよね。
<a id="設定のリセット方法"></a>
8. 設定のリセット方法
設定を元に戻したい場合は、以下の方法を使用します。
特定の設定をデフォルト値に戻す
defaults delete [ドメイン] [キー]
例えば、スクリーンショットの保存形式をデフォルトに戻す場合:
defaults delete com.apple.screencapture type
killall SystemUIServer
アプリケーション全体の設定をリセット
defaults delete [ドメイン]
例えば、Finderの設定をすべてリセットする場合:
defaults delete com.apple.finder
killall Finder
システム全体の設定をリセット(注意: 全てのカスタマイズが失われます)
システムの設定を完全にリセットするのは推奨されませんが、必要な場合は以下のコマンドを使用できます。バックアップを取った上で慎重に行ってください。
# ユーザー設定のリセット
rm ~/Library/Preferences/.*
rm ~/Library/Preferences/*
# キャッシュのリセット
rm -rf ~/Library/Caches/*
設定を変更した後に問題が発生した場合は、まず個別の設定をリセットしてから、必要に応じて範囲を広げていくことをおすすめします。
<a id="まとめと活用のヒント"></a>
9. まとめと活用のヒント
この記事では、macOSのターミナルで使える「defaults write」コマンドと、macOS特有の便利なコマンドを紹介しました。これらのコマンドを活用することで、より効率的にMacを操作できるようになります。
設定のバックアップと共有
設定をバックアップしたり、複数のMacで同じ設定を使いたい場合は、シェルスクリプトを作成すると便利です。お気に入りの設定をスクリプトにまとめておけば、新しいMacのセットアップも簡単ですよ。
#!/bin/bash
# My favorite Mac settings
# Screenshots
defaults write com.apple.screencapture location ~/Pictures/Screenshots
defaults write com.apple.screencapture type jpg
# Finder
defaults write com.apple.finder ShowPathbar -bool true
defaults write com.apple.finder ShowStatusBar -bool true
# ... その他の設定 ...
# 設定を適用
killall Finder
killall SystemUIServer
注意点
- これらの設定は、macOSのバージョンによって動作が異なる場合があります。
- 一部の設定は、システムの安定性に影響を与える可能性があります。
- 重要な変更を行う前には、必ずバックアップを取りましょう。
- システム関連のファイルを直接編集するコマンドは、実行前に十分な理解が必要です。
発展的な学習
さらにmacOSのコマンドラインに興味がある方は、以下のリソースがおすすめです:
-
man
コマンドで各コマンドのマニュアルを参照(例:man defaults
) - Apple Developer Documentation
- Terminal.app のヘルプ機能
macOSはGUIの使いやすさだけでなく、強力なコマンドラインツールも備えています。この記事で紹介した機能を使いこなせば、より高度なカスタマイズと効率化が可能になるでしょう。
私自身、defaults writeコマンドでスクリーンショットの設定を変更してからは、デスクトップがすっきりして作業効率が上がりました。また、pbcopyとpbpasteコマンドは日常的なテキスト操作で本当に役立っています。みなさんも、自分の作業スタイルに合わせてカスタマイズを楽しんでみてくださいね。macOSを使いこなす楽しさが広がることでしょう!
Discussion