Quickly Show/Hide Hidden Files on Mac OS X Mavericks, Yosemite & El Capitan

by

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.

Show/Hide Hidden Files the Long Way

The long way to show hidden Mac OS X files is as follows:

  1. Open Terminal found in Finder > Applications > Utilities
  2. In Terminal, paste the following: defaults write com.apple.finder AppleShowAllFiles YES
  3. Press return
  4. Hold the ‘Option/alt’ key, then right click on the Finder icon in the dock and click Relaunch.
Relaunch Finder by right clicking the Finder Icon whilst holding the `option/alt` key

Relaunch Finder by right clicking the Finder Icon whilst holding the ‘Option/alt’ key

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:

  1. Open Terminal found in Finder > Applications > Utilities
  2. In Terminal, paste the following: sudo nano ~/.bash_profile
  3. Enter your Mac’s administration password if required, then hit return
  4. 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'

  5. Below that, paste the following: alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app'

  6. Press ctrl + O and hit return to save the file
  7. Press ctrl + X to exit the file and return to the command line
  8. In Terminal, paste the following: source ~/.bash_profile to refresh your profile and make the aliases available
Adding aliases to .bash_profile via Terminal

Adding aliases to .bash_profile via Terminal

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.

Written by Ian Lunn

is a freelance Web Designer & Front-end Developer. Providing quality user experience through responsive web design and performant front-end development. Creator of open-source projects Sequence.js and Hover.css, and author of CSS3 Foundations.

Comments

Show comments...
Hire Ian to work on your project