1
2

More than 3 years have passed since last update.

.DS_storeファイルの個別削除

Posted at

.DS_storeファイルとは

Mac特有で、GitHubにcommitした拍子なんかに自動で生成される嬉しくないファイル。
メタデータを記録する不可視ファイルなので、要は不要なファイルです。

削除方法をググると親の仇ばりに、蛇蝎の如く嫌われている印象を感じます。
前述の自動生成、一回消しても再度誕生するなど、嫌われる理由に枚挙に暇がありません。

.DS_storeファイルは複数生成される事もあり、まとめて削除する方法は結構見つかります。
存在している全ての.DS_storeファイルの確認と削除ならば下記コマンドで処理が行えます。

.DS_store確認コマンド

$ find . -name ".DS_Store" #確認コマンド

.DS_store一括削除コマンド

$ find . -name ".DS_Store" | xargs rm #まとめて削除コマンド

削除に関する参考記事
[macOS][小ネタ] すべての.DS_Storeをコマンド一発で削除する

全部まとめてじゃなく個別に削除したい

自分の場合は、既にGitにcommitしており、作業ブランチで.DS_storeファイルまとめて削除してしまうと、自身のタスクと関係ない.DS_storeファイルまで削除される事がネックでした。必要のない変更点が出来る事が問題で、まとめて削除コマンドは使えませんでした。

自分にはappディレクトリ直下、及び隠しファイルの2箇所に.DS_storeファイルが生成されていました。その為、appディレクトリ直下の.DS_storeファイルの削除は容易でした。単純にターミナルでcdコマンドでappディレクトリへ移動し、前述の削除コマンドでappディレクトリ直下だけの.DS_storeファイルだけを狙い撃ちしました。

が、問題なのは隠しファイルの方。
普通にlsコマンドを叩いても出てこないので、何処に消すべきファイルが居るのか分かりませんでした。

そこで使用したのが、

$ sudo ls

でした。

このコマンドを使ってMacに設定しているパスワードを入力すれば、隠しファイルも表示されます。そうして通常のrmコマンドでファイル名を指定する事で個別の削除が出来ます。

削除に関する参考記事2
Macのターミナルコマンド一覧(基本編)

基本的には.DS_storeファイルは不要なので、まとめて削除してしまうのが一番早いです。
しかし、何らかの理由で全部消えては困る、部分的に削除したい場合に参考になれば幸いです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2