Mac - 自動生成されてしまう「__MACOSX」と「.DS_Store」を削除する方法

1. Mac の不可視ファイル

Mac の不可視ファイルで「__MACOSX」「.DS_Store」というものがあります。Mac 固有のものなので、Windows にデータを送る際に Windows ユーザーには意味のないファイルになります。ここではその不可視ファイルを生成しない方法、削除する方法を書いています。

Mac でファイルを圧縮したいときに、「圧縮したいファイルを選択 > 右クリック(control クリック) > xxx を圧縮する」でファイルを圧縮できます。この方法で圧縮すると「__MACOSX」という不可視ファイルが自動生成されます。「__MACOSX」という不可視ファイルを生成しないようにするためにはターミナルからフォルダを圧縮すると自動生成されません。もうひとつの不可視ファイル、「.DS_Store」もターミナルから圧縮するときに削除するように設定できます。

2. ファイルを圧縮

ファイルを圧縮したい場合下記のように記述します。この方法で圧縮すると「__MACOSX」は生成されません。書き方は「zip 圧縮後のファイル名.zip 圧縮したいファイル名」です。

zip test.zip test.txt

3. フォルダを圧縮

ファイルではなくフォルダ(ディレクトリ)を圧縮する場合は下記のように「-r」を追加します。

zip -r test.zip test

4. パスワードを付けて圧縮

圧縮ファイルにパスワードを付けたい場合は下記を記述します。下記を入力するとパスワードの設定を求められます。

ファイルの場合

zip -e test.zip test

フォルダ(ディレクトリ)の場合

zip -e -r test.zip test

5. 「.DS_Store」を削除して圧縮

不可視ファイル、「.DS_Store」を削除して圧縮するには下記のように記述します。

zip -r test.zip test/ -x "*.DS_Store*"

6. zip ファイルから「__MACOSX」「.DS_Store」を削除

zip ファイルを作成した後に不可視ファイルを削除したい場合下記のように記述します。

zip -d test.zip "*__MACOSX*" "*.DS_Store*"

7. 「.DS_Store」を探して一括で削除

下記は「.DS_Store」を探して一括で削除します。-ls までの入力だと「.DS_Store」が、どれくらいあるか分かります。

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