【Mac】.DS_Storeファイルとは?.DS_Storeファイルの削除方法、生成させない方法を紹介

この記事では、.DS_Storeファイルというのはなんなのかを解説していきたいと思います。

.DS_Storeファイルとは?

.DS_Storeファイルとは、Macで自動的に生成される、フォルダやファイルに関するmeta情報が記載されているファイルのことです。(フォルダ内のアイコンの位置や表示設定など)ちなみにDSというのは、Desktop Servicesの略らしいです。

つまり必要ありません。

Mac上では、.DS_Storeファイルは基本見えないようになっていますが、Windowsなど他のOSで開くと見えてしまいます。そのため、Windowsなどとデータを共有するときはこの.DS_Storeファイルは削除した方が良いです。

さらに以下の記事によると、.DS_Storeファイルのせいで、Googleドライブの共有機能が使えなくなる事象が発生しているらしいです。。

参考 Google ドライブ、またも誤判定? 「.DS_Store」ファイルによって共有機能が制限されるケースの報告【やじうまWatch】INTERNET Watch

.DS_Storeファイルを確認する方法

ターミナルにて、cdコマンドでその階層に行き、ls -aコマンドですべてのファイルを確認します。

.DS_Storeファイルを消す方法

.DS_Storeファイルは必要ないということで、削除しましょう。もっというと、生成しないようにしましょう。

Mac内の全ての.DS_Storeファイルを削除する

以下の手順を行うと、Mac内全ての.DS_Storeファイルを削除できます。ただ、Gitなどに.DS_Storeをアップロードしちゃってる方がやると無駄に差分が出てきてしまうかもしれないので、そこは注意してください。

STEP.1

まずは、ターミナルを開いてください。

command + スペースでスポットライトを開き、terminalと検索してターミナルを開きましょう。

STEP.2

そして、以下のコマンドを入力してください。パスワードを求められたらMacを開くときのパスワードを入力してください。

sudo find / -name ".DS_Store" -delete

これで、.DS_Storeファイルが削除されます。

STEP.3

そして、以下のコマンドを打ってFinderを再起動させます。

Killall Finder

これで現場Macに入っている.DS_Storeファイルは全て削除されました。

.DS_Storeファイルを生成させないようにする方法

完全に生成させないようにする方法はないようです。。

ただ、ネットワークドライブ内のフォルダで生成させないようにすることはできるそうです。

やらないようりは、やっておいた方が良いということで、ネットワークドライブ内のフォルダで生成させないようにする方法をご紹介します。

STEP.1

ターミナルを起動

STEP.2

以下のコマンドを入力してください。パスワードを求められたらMacを開くときのパスワードを入力してください。

defaults write com.apple.desktopservices DSDontWriteNetworkStores True
STEP.3

そして、Finderの設定を切り替えたら必ず、以下のコマンドを打ってFinderを再起動させましょう。

Killall Finder

これで、ネットワークドライブ内のフォルダで.DS_Storeファイルは作成されなくなります。

Gitの差分に表示させないようにする方法

一番.DS_Storeファイルを見るのはやはりGitの差分です。フォルダ構成を変更した時とか.DS_Storeの差分が表示されてしまいます。これは、そもそも.gitignoreに記載して差分を表示させないようにするのが良いかと思います。

.gitignoreについては以下の記事に書いています。以下の対応を行えばGitの差分に.DS_Storeが表示されなくなります。

【Xcode/Swift】Xcodeでの.gitignoreの設定方法、自分が使っている.gitignoreの内容を解説