macOSで不要なファイル(.DS_Storeや._~)を削除する

macOSのファイルシステムは自動でFinderでは見えない不可視ファイル(隠しファイル)を作成します。.DS_Storeや._で始まるファイルがそれに該当しますが、これらのファイルはWindowsなど他のOSに持って行った時に邪魔になることがあります。

不可視ファイル(隠しファイル)を削除する

これらを削除するには以下の方法が考えられます。

  • Finderで不可視ファイルを表示させて削除する
  • ターミナルからコマンドを使って削除する

それぞれの方法を見て行きましょう。

Finderで不可視ファイルを表示させて削除する

Finderで不可視ファイルを表示させるにはターミナルから以下のコマンドを実行します。

$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder

2行目はFinderの再起動を行っています。

これで以下の画像のようにFinderで不可視ファイル(隠しファイル)が表示されるようになります。不要な不可視ファイル(隠しファイル)を通常のファイルと同様に削除しましょう。

不可視ファイルがFinderに表示されないように戻す場合は次を実行します。

$ defaults write com.apple.finder AppleShowAllFiles FALSE
$ killall Finder

ターミナルからコマンドを使って削除する

次にターミナルからコマンドを使って削除する方法です。rmコマンドで1つずつ削除していく方法もありますが、ここでは1行実行するだけで指定ディレクトリ(フォルダ)以下の.DS_Storeと._で始まるファイルを削除する方法を紹介します。

findコマンドを使って検索しつつrmコマンドを実行します。findコマンドの詳細な使い方もGoogle先生にお任せするとして、結論だけ。

以下のコマンドを実行します。

find 検索するフォルダを指定 \( -name ".DS_Store" -or -name "._*" \) -print -exec rm {} ";"

例えばカレントディレクトリ以下の.DS_Storeと._で始まるファイルを削除するには以下を実行します。

find ./ \( -name ".DS_Store" -or -name "._*" \) -print -exec rm {} ";"

USB_MEMという名前でマウントされているUSBメモリを検索対象として削除を行うなら以下を実行します。

find /Volume/USB_MEM \( -name ".DS_Store" -or -name "._*" \) -print -exec rm {} ";"

まとめ

まとめというか注意事項ですが、念のためコピーを取ってから実行しましょう

誤ってファイルが削除されても責任は負いかねます・・・