開発をしているとたまにこれらのフォルダーにアクセスする必要があるので、その方法を調べた。
やり方は大きく2つ。以下はいずれもターミナルからコマンド入力をして使う。
1. chflags で不過視属性を変更する
ファイルやフォルダの不過視属性は chflags によって変更できる。
(chflags は BSD 4.4以降の標準コマンドらしい)
ls でファイル属性を確認するためには、-lO(大文字) オプションをつける。
$ ls -lO
total 24
drwx------+ 6 user staff - 204 10 29 17:27 Desktop
drwx------+ 14 user staff - 476 10 19 20:30 Documents
drwx------+ 27 user staff - 918 10 28 14:15 Downloads
drwx------@ 56 user staff hidden 1904 10 13 16:09 Library
drwx------+ 8 tuser staff - 272 9 13 18:38 Movies
drwx------+ 8 user staff - 272 9 2 02:59 Music
drwx------+ 15 user staff - 510 10 21 15:42 Pictures
drwxr-xr-x+ 5 user staff - 170 8 27 00:43 Public
drwxr-xr-x 7 user staff - 238 10 13 14:31 www
Library フォルダが hidden となっているのがわかる。
不過視属性を解除するには、以下のようにする。
$ chflags nohidden Library
ファインダーで確認してみると、無事「ライブラリ」フォルダが表示される。
必要なフォルダのみ表示する事ができるので、chflags を使う方がオススメ。
また、自分で作成したファイルやフォルダを不過視にすることもできる。
ちょっと気になったので、ついでに tar や zip のアーカイブで nohidden 属性が維持されるのか試してみた。
tar : nohidden 属性は展開後も維持されていた。tar では chflags の属性も維持されているがこれはBSD固有の機能なので、他のプラットフォームで展開した場合に属性が維持される保証はない。
zip : nohidden 属性は維持されず、すべて可視ファイルとなった。
2. defaults で Finder で全てのファイルを表示するように設定する
Mac では、Windows のレジストリに相当するものとして defaults がある。ターミナルから defaults コマンドを使用して、ファインダーの設定で全てのファイルを表示するように設定する。
Macで隠しファイルを表示する方法についてググると、ほとんどこの方法が説明されている。
domain | com.apple.finder |
---|---|
key | AppleShowAllFiles |
value | TRUE : 全てのファイルを表示 FALSE : 隠しファイルは表示しない |
全てのファイルを表示するように設定する例
$ defaults write com.apple.finder AppleShowAllFiles TRUE設定の変更後に、設定を適用するために killall でファインダーを再起動する。
$ killall Finder
ただしこの方法では、
- 隠しておいても良いフォルダも全て表示されてしまい、ファインダーのリストが長くなってしまう。
- デスクトップ上のシステムファイルもアイコンで表示されてしまい、デスクトップが散らかってしまう。
といった欠点があるので、chflags を使う方がオススメ。
補足:ファイル選択ダイアログでの不過視ファイルの表示切り換え
ファイル選択ダイアログでは、ショートカットキーの「Command + Shift + . (ピリオド)」 で不過視ファイルの表示のON/OFFを切り替える事ができる。