Quickly Show/Hide Hidden Files on macOS Sierra, OS X El Capitan & Yosemite
Updates
-
Added shortcut method available on macOS Sierra keyboard.
-
Method of showing/hiding hidden files tested and working on macOS Sierra.
-
Method of showing/hiding hidden files tested and working on Mac OS X El Capitan.
It seems like every day I search Google for the command to show hidden files on Mac OS X, not to mention Googling for the command to then hide those hidden files a few minutes later.
Today I decided to make a short and easy to remember alias to speed up the process. All I need do now is type showFiles
and hideFiles
whenever I need to show/hide OS X's hidden files. Here's how you can do it too.
The Quickest Way to Show/Hide Hidden Files
Since the release of macOS Sierra, when in Finder, it is now possible to use the shortcut:
CMD + SHIFT + .
Press once to show hidden files and again to hide them. If you're using a version earlier than macOS Sierra, see Show/Hide Hidden Files using Terminal Aliases to setup a toggle command via terminal.
Thanks to Guido Schlabitz for making me aware of this new shortcut.
Show/Hide Hidden Files the Long Way
The long way to show hidden Mac OS X files is as follows:
- Open Terminal found in Finder > Applications > Utilities
- In Terminal, paste the following:
defaults write com.apple.finder AppleShowAllFiles YES
- Press return
- Hold the 'Option/alt' key, then right click on the Finder icon in the dock and click Relaunch.
This will show all hidden files. To hide them again, follow the same steps but replace the Terminal command with:
defaults write com.apple.finder AppleShowAllFiles NO
It's not the longest set of instructions or the biggest command to commit to memory but if you're doing this a lot, it's worth spending a few minutes now to save yourself a lot more time in the future.
Show/Hide Hidden Files using Terminal Aliases
A Terminal alias is a name or shortcut for one or multiple commands. Using an easy to remember alias, we can turn the above four step process into just one.
An alias can be made temporarily (just for the use of one terminal session) or permanently. As we want this to be a shortcut used now and in the future, let's make it permanent:
- Open Terminal found in Finder > Applications > Utilities
- In Terminal, paste the following:
sudo nano ~/.bash_profile
- Enter your Mac's administration password if required, then hit return
- At the bottom of the open .bash_profile file, paste the following:
alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app'
Below that, paste the following:
alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app'
- Press ctrl + O and hit return to save the file
- Press ctrl + X to exit the file and return to the command line
- In Terminal, paste the following:
source ~/.bash_profile
to refresh your profile and make the aliases available
Now when you want to show hidden files, all you need type in Terminal is showFiles
, then hideFiles
when you want to hide them.
If you want to modify the behaviour or alias names, let's take a closer look at the commands you just added:
alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES;
killall Finder /System/Library/CoreServices/Finder.app'
alias
tells Terminal we're adding a new alias.
showFiles
is the name of the alias. Change this to what you wish.
We then give the alias two commands. The first being:
defaults write com.apple.finder AppleShowAllFiles YES;
This is the command to show hidden files and is ended with a semi-colon ;
so we can then use the second command:
killall Finder /System/Library/CoreServices/Finder.app
This will relaunch the Finder (to replicate the step of holding the 'Option/alt' key then right clicking the Finder icon in the dock).
Conclusion
With the aliases set up, all you need do in the future is type showFiles
and hideFiles
to show and hide Mac OS X's hidden files respectively.
Aliases can be used to speed up your interaction with the Terminal. Set up an alias for navigating to your most used directories, to commit to a GitHub repo and so on.
Ian Lunn is a Front-end Developer with 12 years commercial experience, author of CSS3 Foundations, and graduate of Internet Technology. He creates successful websites that are fast, easy to use, and built with best practices.