【Mac初心者向け】.DS_Storeを消したい!


どうも、MacBook Air利用歴1年目の三町哲平です。

最近ふと、GitHubではなくMacBook内のローカル環境のディレクトリに保存していたRailsアプリを使う機会がありまして、Visual Studio Codeで開いてみたところ、

...何これ?となりましたので、早速調べてみました。

.DS_Storeとは?

分からない事はWikipediaが一番詳しく載ってそうなので今回は、Wikipediaを使用しましたが、なんとビックリ!
日本語の「.DS_Store」のページが無いみたいなので、今回は、英語のページを日本語訳で紹介します。

アップル のMacOSオペレーティングシステム、.DS_Storeは店がカスタムその含むの属性というファイルでフォルダなどの位置として、アイコンや背景画像の選択が。名前はDesktopServices Storeの略語であり、その目的を反映しています。それが作成され、維持されることにより、ファインダーのすべてのフォルダ内のアプリケーション、およびファイルと同様の機能があるdesktop.iniをでのMicrosoft Windowsを。ピリオド(ピリオド)文字で始まり、Finderや多くのUnixユーティリティでは 非表示になっています。その内部構造は独自仕様ですが、その後リバースエンジニアリングされています。macOS 10.12 16A238m以降、Finderは.DS_Storeファイルを表示しません(com.apple.finder AppleShowAllFiles YESが設定されている場合でも)。

↑Finder絡みのファイルで、デフォルトは非常時な訳ですね。

目的と場所

ファイル.DS_Storeは、ファイルを共有するサーバーからマウントされたリモートファイルシステム(サーバーメッセージブロック(SMB)プロトコルやApple Filing Protocol(AFP)など)でも、Finderアプリケーションがアクセスする任意のディレクトリ(フォルダー)に作成されます。ただし、リモートファイルシステムは、オペレーティングシステムの設定(アクセス許可など)によって除外される可能性があります。これらのファイルは主にFinderで使用されますが、アイコンの位置や表示設定など、フォルダーの表示オプションに関するメタデータのより汎用的なストアとして想定されていました。たとえば、Mac OS X 10.4「Tiger」以降では、「.DS_Store」ファイルにSpotlightが含まれていますフォルダのファイルのコメント。これらのコメントはまたに格納されている拡張ファイル属性、が、Finderは、それらを読んでいません。
以前のAppleオペレーティングシステムでは、Finderアプリケーションは同様のファイルを作成しましたが、外部ファイルシステムを含め、アクセスされるボリュームのルートで、ボリューム上のすべてのファイルのすべての設定を収集しました(それぞれのフォルダごとに個別のファイルを用意するのではありません)。

↑Finderが自動的にアクセスしてディレクトリ内に自動で生成される様です。

問題

多くのユーザーの苦情により、Appleは、リモートでマウントされたネットワークファイルシステムでこれらのファイルの作成を無効にする手段を公開するようになりました。macOS High Sierra(10.13)以降、Appleは、ブラウジング速度を向上させるために、アルファベット順にソートされたフォルダーの.DS_Storeのメタデータ収集を遅らせています。ただし、いくつかの回避策はありますが、これらの手順はUSBフラッシュドライブを含むローカルドライブには適用されません。Mac OS X 10.5より 前は、.DS_Storeファイルはリモートファイルシステムに表示されていました。
.DS_Storeファイルは頻繁に変更されるため、特に除外されない限り、コミットに表示される可能性があるため、リビジョン管理プロセスに追加の負担がかかる可能性があります。
.DS_Storeファイルは、OS Xユーザーによって作成されたZIPなどのアーカイブに、AppleDoubleなどの他の隠しファイルやディレクトリとともに含まれています。
.DS_Storeファイルは、コピー操作に悪影響を与えることが知られています。ファイル転送用に複数のファイルが選択されている場合、コピー操作は(重複した).DS_Storeファイルに到達すると、すべての進行状況をさかのぼってキャンセルし、ユーザーにコピー操作を最初から再開するように強制します。

↑.DS_Storeは、メタデータ収集が目的みたいですが、ユーザーの苦情もあるみたいですね。それに伴って、対策もあるにはあるらしいです。

.DS_Store邪魔なんですが...

.DS_Storeを間違ってGitHubにpushしてしまうかも知れないし、目障りだし、そもそもメタデータの収集とかされたくないから消そうと思ったあなた!

確かに消すことは、出来ますが、また復活するみたいです。

Finderの設定などを格納する一時ファイルなので、作らない設定にするとFinderの振る舞いがおかしくなったりするなんていうウワサもある。
引用元:macOS の .DS_Store を一括削除する - Qiita

上記の引用にもある様に作らない設定にもできるのは、できる。(Wikipediaにも記載されています。)
しかし、私含め初心者であればある程、Finder含め、OS廻りの設定変更は極力避けたいという気持ちになりませんか?私は、なります。それで、一部のアプリが立ち上がらなくなったりしても困ります。※普通に考えたらこの程度のFinderの設定変更でOS等への不具合は考えづらいですが...(汗)

お部屋の掃除を定期的にするような感覚で、もしくはに気になった時にサッと消せる様に

$ find . -name '.DS_Store' -type f -ls -delete

↑コチラのコードでサクッと消すことが出来ます。




無事、削除する事ができました。

.DS_Storeが邪魔で気になった時にぜひお試しあれ!

参考及び引用記事