Macの「.DS_Store」とは?削除時の影響・Git除外・Windows混入防止と一括削除のまとめ

Macを使っていると、フォルダの中やGitの変更履歴、あるいはWindowsユーザーとのファイル共有時に突如として現れる謎のファイル「.DS_Store」。

「このファイルは何のためにあるの?」「勝手に削除してもMacが壊れたりしない?」「Windowsの人にZIPを送ったら不審がられたけれどどうすればいい?」といった疑問やトラブルに直面したことがある方は非常に多いはずです。

結論からお伝えすると、.DS_Storeを削除してもOS本体の基本動作や保存ファイルが壊れる心配はありません。ただし、せっかく手動で整えたフォルダ内のアイコン配置やウィンドウサイズなどの表示設定が初期化されるため、削除する際の影響について正しく把握しておくことが大切です。

この記事では、.DS_Storeの正体や仕組みをはじめ、削除した際に生じる具体的な影響、Windows共有やGit開発で混入を防ぐ実践的な対策、ターミナルを使った一括削除コマンドまで詳しく解説します。

.DS_Storeの正体とMacのFinderにおける役割

「.DS_Store」は、正式には「Desktop Services Store」の略称です。macOSの標準ファイル管理ソフトである「Finder」が自動的に生成・更新するMac独自のメタデータファイル(管理情報ファイル)です。

Macでフォルダを開いたり、ウィンドウ内のアイコン配置を変更したりすると、Finderはそのフォルダ内に「.DS_Store」というファイルを自動作成し、以下の表示カスタム設定を記録します。

.DS_Storeに記録される主な情報:

  • フォルダ内のアイコンの配置位置やグリッドの整列状態
  • 表示形式(アイコン表示・リスト表示・カラム表示・ギャラリー表示)
  • 並び順(名前順・変更日順・サイズ順など)
  • フォルダを開いたときのウィンドウのサイズや画面上の表示位置
  • フォルダ独自の背景色や背景画像の設定

なぜ普段は目に見えないのか

macOSの基礎となっているUNIX系のシステムでは、ファイル名の先頭にピリオド(.)が付いているものは「隠しファイル(ドットファイル)」として扱われます。
そのため、通常の設定ではFinderの一覧に表示されず、ユーザーの視界に入らないよう設計されています。

Mac Finderで隠しファイルが表示された状態

隠しファイルを表示させると、各フォルダに「.DS_Store」が半透明で存在していることが確認できる

Finderで隠しファイルの表示と非表示を切り替えたい場合は、キーボードの「Command + Shift + .(ピリオド)」を押すだけでいつでもトグル切り替えが可能です。ショートカットの詳しい使い方は別記事の「MacのFinderで隠しファイルを表示・非表示にするショートカット解説」をご参照ください。

.DS_Storeは削除しても大丈夫?消した際の影響と注意点

多くの方が疑問に感じる「このファイルをゴミ箱に入れて削除しても大丈夫なのか?」という点ですが、結論としてOSの基本動作やファイル本体に致命的な支障が出ることは基本的にありません

ただし、「何の影響も出ない」というわけではなく、Finderの表示に関して以下の変化が生じる点に留意しておく必要があります。

.DS_Storeを削除した際の影響:

  • 写真・書類・プログラムなどの本体データが破損したり消失することは一切ありません
  • macOSの基本機能や各種アプリケーションが起動しなくなる心配もありません
  • 一方で、「手作業で綺麗に並べたアイコンの配置」「ウィンドウの位置・サイズ」「並び順」などのカスタム設定はすべてリセットされ、macOSの初期表示に戻ります

削除する前に知っておきたい留意点

日頃からデスクトップや特定の作業フォルダで「よく使うアイコンを右上に寄せる」「特定の位置にファイルを固定する」といったこだわりを持った配置をしている場合、.DS_Storeを消してしまうとそれらのレイアウトが崩れてしまいます。
元の配置を保ちたい大切なフォルダについては、安易に一括削除しないよう注意が必要です。

何度消しても現れる「ゾンビファイル」の理由

.DS_Storeを削除したあと、そのフォルダをもう一度Finderで開くと、再び .DS_Store が作られていることに気付くかもしれません。
これはFinderが「フォルダを開いた瞬間に表示設定を保存するため、自動的に新規生成する仕様」になっているためです。壊れているわけではなく、macOSの正常な動作です。
そのため、「削除すれば二度と現れなくなる」という性質のものではないことも理解しておきましょう。

.DS_Storeが引き起こす3大トラブル

Mac単体で個人利用している分には大きな問題にならない .DS_Store ですが、共同作業やWeb制作、プログラミングの現場ではしばしばトラブルの原因となります。

.DS_Store の正体と発生する3大問題・解決策

WindowsユーザーへZIPを送った際の混入トラブル

MacユーザーがフォルダをZIP形式で圧縮してWindowsユーザーに送ると、Windows側では「.から始まるファイル」を隠す仕組みがないため、すべてのフォルダの中に「.DS_Store」が丸見えの状態で解凍されます。
相手がPCに詳しくない場合、「見慣れない怪しい拡張子のファイルが入っている」「ウイルスではないか」と警戒されてしまい、余計な問い合わせや不安を生む原因になります。

Gitリポジトリへの混入とコンフリクト

チーム開発やGitHubを利用しているプロジェクトで .DS_Store を誤ってコミットしてしまうと、開発者ごとのFinder表示設定がプロジェクトリポジトリにアップロードされてしまいます。
各自がFinderでフォルダを開くだけでファイルの変更差分(diff)が発生してしまい、余計なコミット履歴が増えたり、マージ時にコンフリクトを引き起こす原因になります。

Webサーバーへの誤アップロードと情報漏洩リスク

Webサイトの公開データをFTPなどでサーバーにアップロードする際、誤って .DS_Store まで本番サーバーに転送してしまうケースがあります。
.DS_Store の内部バイナリデータを解析ツールで読み取られると、「そのディレクトリ内にどのようなファイルやフォルダが存在しているか」という一覧情報が第三者に漏洩してしまうセキュリティ上の脆弱性につながります。

実務で役立つ.DS_Storeの対処法と予防策

不要なトラブルを防ぐために、実務で今すぐ使える具体的な対策とコマンドをご紹介します。

Git管理から確実に除外する(.gitignoreの設定)

Gitで管理しているプロジェクトでは、プロジェクト直下の「.gitignore」ファイルに以下を追記します。

# .gitignoreに追記
.DS_Store
*/.DS_Store

すでに誤ってコミットされてしまっている場合は、以下のコマンドでGitの追跡からのみ削除(ローカルのファイルは保持)し、改めてコミットします。

git rm --cached .DS_Store
git commit -m "Remove .DS_Store from git tracking"
おすすめ:グローバルgitignoreの設定

Mac内のすべてのGitリポジトリで自動的に .DS_Store を無視させたい場合は、ターミナルで以下の2行を実行して「グローバル設定」を作っておくのが最もスマートです。

echo ".DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global

ターミナルで配下の.DS_Storeを一括削除する

フォルダ階層が深くなってしまい、手動で1つずつ削除するのが困難な場合は、ターミナルの「find」コマンドを使って配下の .DS_Store を一括で消去できます。

Mac ターミナルで.DS_Storeを一括削除する様子

ターミナルで削除コマンドを実行し、作業ディレクトリをクリーンにした例

削除したい対象のフォルダに「cd」コマンドで移動した後、以下のコマンドを実行します。

# カレントディレクトリ配下の全 .DS_Store を一括削除
find . -name '.DS_Store' -type f -delete

ネットワークドライブやUSBメモリでの自動生成を停止する

社内の共有ファイルサーバー(NAS)や、Windowsでも使う外付けUSBメモリ上に .DS_Store を作らせたくない場合は、macOSの隠し設定を変更することで生成を抑制できます。
ターミナルで以下のコマンドを実行し、Macを再起動してください。

# ネットワークドライブ(共有サーバー)での生成を停止
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

# 外付けUSBストレージでの生成を停止
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

※設定を元に戻したい(再び生成させたい)場合は、コマンド末尾の「true」を「false」に変更して再実行します。

Windowsへ送るZIPファイルに含めない方法

Windowsユーザーへ渡すZIPファイルを作りたいときは、ターミナルで「-X」オプション(Mac独自の拡張属性やメタデータを除外するオプション)を付けて圧縮すると、相手に余計なファイルが渡りません。

# .DS_Store 等のメタデータを除外してZIP圧縮
zip -r -X output.zip 대상フォルダ名/

日常的にWindowsとのファイル共有が多い場合は、「MacWinZipper」などのMac専用圧縮フリーソフトを導入しておくと、右クリック操作だけで自動的に .DS_Store や文字化けを防止したクリーンなZIPが作成できるため大変便利です。

まとめ

.DS_Storeに関する重要ポイントまとめ:

  • Finderの表示設定(アイコン配置や表示形式)を記録するファイル
  • 削除してもOS本体に致命的な支障はないが、表示設定がリセットされる点に留意する
  • 再度フォルダを開くと自動生成されるのは正常な仕様
  • Windows共有・Gitリポジトリ・本番サーバーへの混入には注意が必要
  • 「.gitignore」のグローバル登録やターミナルコマンドで簡単に制御可能

「.DS_Store」は決して不具合やウイルスではなく、Finderがユーザーの使い勝手を保つために働いてくれている証拠です。
削除による表示リセットの影響を理解しつつ、チーム開発やファイル共有のルールを整えて快適なMac環境を整えていきましょう。


eguchi.netをもっと見る

購読すると最新の投稿がメールで送信されます。