Unhide invisible files from the command line
By default, a number of system directories (such as ~/Library) are hidden in OS X (ie. they don't appear in Finder):
I know I can do this through the GUI but I would like to add a script to my dotfiles that does this automatically for certain system directories.
Is it possible to remove the hidden flag for a file/directory from the command line?
For files hidden by prepended .
To show:
defaults write com.apple.finder AppleShowAllFiles YES; killall Finder
To hide:
defaults write com.apple.finder AppleShowAllFiles NO; killall Finder
edit: as per RikerW's advice, to shorten these long strings into some shorter strings, add the following line to ~/.bash_profile
from your favorite text editor:
alias showall='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder'
alias hideall='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder'
do note that you will have to do source ~/.bash_profile
to update your shell with the new aliases.
For files hidden from the GUI:
To show:
sudo chflags nohidden /path/to/file
To hide:
sudo chflags hidden /path/to/file
Do bear in mind that this completely removes the hidden
flag.