Macで勝手に作られる「.DS_Store」を一括削除するコマンド

Macを使っていると「.DS_Store」という隠しファイルにイラっとさせられることがままあります。
深い階層のフォルダの中にまでご丁寧に作成されていて、消しても消しても作られます。
Windowsにフォルダごとわたすときなど、特に不便ですよね。

毎度毎度ひとつひとつ消していくのだけは嫌だ、ということで、一括削除するコマンドを残しておきます。

「.DS_Store」とは?

消してしまう前に、念の為どういうファイルなのか確認しておきます。
「.DS_Store」とは、Finderがフォルダの情報(設定)を記録しておくためのファイルです。
フォルダ内のファイルやフォルダの表示位置やアイコンの大きさなどが、フォルダの情報にあたるようです。
隠しファイルなので、通常は見えません。

「.DS_Store」を消すとどうなる?

「.DS_Store」を消したからといって、フォルダの中身が消えてしまったり、ファイルが開けなくなってしまうようなことはありません。

前述のとおり、フォルダの情報を記録しているものなので、フォルダの設定等がリセットされます。
自分好みの位置に並び替えていたり、アイコンの大きさを調整していた場合は、元に戻ってしまいます。
タグや背景色、コメントなどもこの「.DS_Store」に保存されている可能性がある(不確定情報)ので、それらが消えてしまうと困る場合には、削除はやめておいた方が良いかと思います。

邪魔になってしまうときもありますが、決して“悪”というわけではないので、作成されないようにしてしまうのも考えものですね。

「.DS_Store」を一括削除するコマンド

必要なときに必要なフォルダの「.DS_Store」を一括削除するのが一番いいかもしれない、ということでコマンドです。

下記コマンドを実行することで、
現在のフォルダ以下の「.DS_Store」ファイルを全て削除してくれます。

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

消したファイルの一覧を表示したい場合は、最後に半角スペースを空けて「-ls」を追加します。

find の後の . はファイルを探すフォルダのパスです。
. は現在のフォルダを指します。

-name '.DS_Store' で「.DS_Store」という名前のファイルに限定しています。

-type f はファイルのみ(フォルダを含めない)というオプションです。

最後の -delete で削除します。
これをつけない場合は、検索結果を表示するのみとなります。
まずは -delete なしで叩いて、結果に問題なければ -delete を付けて改めて実行、とすると安心ですね。

カテゴリー: Mac