Finderの不可視ファイル表示/非表示を切り替えるスクリプト書いた
Finderの不可視ファイル表示/非表示を切り替えるスクリプト書いた
Macではデフォルトで、ドットファイルや「ゴミ箱」、「ライブラリ」などのファイルやフォルダは非表示になっている。ドットファイルはFinderから触ることはないので、多くの場合は非表示でも困らないのだが、たまに不便になることもある。
それでこれらのファイルを表示したいと思っても、そのための設定はGUI上には用意されておらず、ターミナルでコマンドを叩く必要がある。
そのコマンドは、「mac 非表示ファイル」とかでググるとたくさん出てくるけれど、以下のようなもの。
defaults write com.apple.finder AppleShowAllFiles -bool TRUE # 表示する defaults write com.apple.finder AppleShowAllFiles -bool FALSE # 非表示にする
自分は昔これを知ってからずっと「表示」にしていたんだけど、ドットファイルが増えてきたりするとFinderが散らかってしょうがない。そして、やはり冒頭に書いたように、少なくとも自分の場合は、多くの場合にFinderからこれらのファイルが見える必要はなかった。
基本は「非表示」にしておいて、必要なときだけ「表示」にしたい。
ということで、切り替えを簡単にできるシェルスクリプトを書いた。ただの上のコマンドのラッパのようなもの。シェルスクリプトをほとんど書いたことないので勉強も兼ねて。
toggleShowAllFiles
#!/bin/sh show_usage() { echo "usage: ${0//*\/} show | hide" } exec_command() { command="defaults write com.apple.finder AppleShowAllFiles -bool $1" echo "exec: $command" $command } if [ $# -lt 1 ] then show_usage exit 1 fi case $1 in show) exec_command TRUE ;; hide) exec_command FALSE ;; *) show_usage esac
show_usage()
内の${0//*\/}
は、このスクリプトのフルパスからディレクトリ部分を除いて、ファイル名だけにしている。正直読みにくいので、もっと可読性の高い素敵な方法があれば書き直したい。
こんな感じで使う。
# 表示 $ toggleShowAllFiles show exec: defaults write com.apple.finder AppleShowAllFiles -bool TRUE # 非表示 $ toggleShowAllFiles hide exec: defaults write com.apple.finder AppleShowAllFiles -bool FALSE
そんなに頻繁に使うものでもないけど、毎回ググるよりは楽になった。
しかし、シェルスクリプトってやたらとスペースの扱いが厳密で、ちょっと戸惑った。
--
ちなみに、defaults
コマンド実行後にkillall Finder
が必要ってなってる記事もあるけど、少なくともOS X 10.10 Yosemiteでは不要。そのとき開いてるFinderのウィンドウを閉じて開き直すだけでいい。