はじめに
macOSでは、ドット(.)で始まるファイルやフォルダは隠しファイルとして扱われ、通常はFinderに表示されません。これは、誤操作からシステムやユーザー設定を守るための配慮です。一方、開発や環境構築では .zshrc、.bashrc、.gitconfig、.ssh/config などのドットファイルを編集する機会が多く、表示・編集の方法を正しく理解しておくことが重要です。
この記事では、Finderとターミナルの両方からドットファイルを表示する方法を、背景知識や注意点まで含めてわかりやすく解説します。最後に、代表的なドットファイルの役割、編集時の安全なワークフロー、トラブル時の対処法もまとめます。
ドットファイルとは?なぜ隠れているのか
-
定義: ファイル名が
.で始まるファイル・フォルダ(例:.zshrc,.gitignore,.ssh)。 - 目的: システム設定やユーザー環境設定など、日常利用で触れる必要が少ないファイルを誤操作から保護するために非表示になっています。
-
開発者視点の重要性: シェルの初期化設定、Gitの振る舞い、SSH接続設定、言語ランタイムの設定(npmの
.npmrcなど)はドットファイルで管理されることが一般的です。
Finderでドットファイルを表示する
方法1: ショートカットで一時的に表示する
- Finderで任意のフォルダ(例: ホームディレクトリ
~/)を開く - キーボードで
command + shift + .を押す - 隠しファイルが表示されます。もう一度押すと非表示に戻ります。
ポイント
- 一時的に隠しファイルの可視化を切り替える際に便利です。
- 誤操作を避けたい場合は、作業の都度このトグルで十分です。
方法2: ターミナルから恒久的に表示する
以下のコマンドをターミナルで実行します。
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
非表示に戻すには次のコマンドを実行します。
defaults write com.apple.finder AppleShowAllFiles FALSE
killall Finder
ポイント
-
defaults writeはFinderの設定データベースを書き換えます。 - 反映にはFinderの再起動(
killall Finder)が必要です。 - 常時可視化は便利な反面、システムファイルを誤って移動・削除しないよう注意しましょう。
ターミナルでドットファイルを表示する
基本: ls コマンド
- ドットファイルを含めて一覧表示
ls -a
- 権限やサイズ、更新日時などを含めて詳細表示
ls -la
よく使う実用スニペット
# ホーム直下のドットファイルを新しい順で表示
ls -lat ~ | head
# .ssh ディレクトリ配下の構成を階層表示
ls -la ~/.ssh
# . で始まる設定ファイルだけを絞り込み(glob)
ls -la ~/.*rc ~/.*profile 2>/dev/null
find で探す
特定名や更新日の条件で洗い出したい場合:
# ホーム配下で .* から始まる通常ファイルを検索
find ~ -type f -name ".*" -maxdepth 2
# 直近7日以内に更新されたドットファイル
find ~ -type f -name ".*" -mtime -7
ドットファイルを開く/編集する
GUIエディタ(TextEdit, VS Code など)
# TextEdit で開く
open -a TextEdit ~/.zshrc
# VS Code で開く(code コマンドが有効な場合)
code ~/.zshrc
CUIエディタ(nano, vim など)
# 初心者に優しい nano
nano ~/.zshrc
# vim 派
vim ~/.zshrc
安全に編集するための手順例
-
まずバックアップを取る
cp ~/.zshrc ~/.zshrc.bak.$(date +%Y%m%d-%H%M%S) -
編集する(IDEやエディタで)
-
変更点を差分確認
diff -u ~/.zshrc.bak.* ~/.zshrc | less -
シェルを再読み込みして反映
# zsh source ~/.zshrc # bash source ~/.bashrc
代表的なドットファイルと役割(詳説)
| ファイル | 主な役割 | 補足ポイント |
|---|---|---|
.zshrc |
zsh の対話シェル設定 | macOS Catalina以降のデフォルトシェル。エイリアス、PATH、補完、プロンプト設定など。 |
.bashrc |
bash の対話シェル設定 | 対話モード向け。~/.bash_profile から読み込むのが定番。 |
.bash_profile |
bash のログインシェル設定 | macOSではTerminal.appの既定挙動で読み込まれることが多い。if [ -f ~/.bashrc ]; then source ~/.bashrc; fi を入れて共通化。 |
.gitconfig |
Gitのグローバル設定 | user.name/email、エイリアス、差分ツール、クレデンシャル設定など。 |
.gitignore |
Gitで無視するファイル指定 | 言語・フレームワークごとのテンプレを活用しやすい。 |
.ssh/config |
SSH接続設定 | ホスト別のユーザー名・鍵パス・ポート転送・ProxyJump などを定義。 |
.npmrc |
npm設定 | レジストリ、プロキシ、キャッシュ、スコープ設定など。 |
.tool-versions |
asdfのバージョンピン | 言語ランタイムのバージョン固定に便利。 |
zsh と bash の読み込み関係メモ
- macOS (10.15+) の既定シェルは zsh。通常は
.zshrcを編集すればOK。 - bashを利用する場合は、ログインシェルで
.bash_profile、対話シェルで.bashrcが読まれます。設定の二重管理を避けるため、.bash_profileから.bashrcをsourceするのが一般的です。
# ~/.bash_profile のよくある書き方
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
バージョン管理(Git)で安全・再現性を高める
ドットファイルはGitで管理すると、履歴・差分・復元が容易になります。
mkdir -p ~/dotfiles && cd ~/dotfiles
# 例: ホームの設定をシンボリックリンクで管理
ln -sfn ~/dotfiles/zshrc ~/.zshrc
ln -sfn ~/dotfiles/gitconfig ~/.gitconfig
git init && git add . && git commit -m "init dotfiles"
ポイント
- 会社PCと個人PCなど複数環境での同期・再現に便利。
- 機密情報(APIキーなど)はコミットしない、もしくはテンプレ化し
.env.localなどに切り出しましょう。
よくあるトラブルと対処
Finderに表示されない/戻らない
-
設定を適用し直す
defaults write com.apple.finder AppleShowAllFiles TRUE killall Finder -
非表示に戻す
defaults write com.apple.finder AppleShowAllFiles FALSE killall Finder
権限エラーで編集できない
-
所有者やパーミッションを確認
ls -la ~/.ssh chmod 600 ~/.ssh/config chown "$USER" ~/.zshrc
変更がシェルに反映されない
-
現在のシェルを確認
echo "$SHELL" -
該当シェルの設定ファイルを
sourceする、もしくは新しいターミナルを開き直します。 -
bashの場合、ログイン/非ログインで読むファイルが異なる点に注意(
.bash_profileと.bashrc)。
セキュリティと安全運用のヒント
- システムやツールの隠しファイルは不用意に削除・移動しない。
- 変更前にバックアップ、変更後は差分確認。
- 鍵やトークンは別ファイル化して権限を最小化(例:
chmod 600)。 - 重要設定はコメントを残して未来の自分に説明可能に。
まとめ
- Finderでは
command + shift + .で素早くトグル、恒久化はdefaults write ...; killall Finder。 - ターミナルでは
ls -a/ls -laが基本、findで条件検索も可能。 - 編集時はバックアップ→編集→差分確認→
sourceの流れで安全に。 - ドットファイルはGitで管理し、再現性と復元性を高