Mac File System tips

Home directory conventions

I like to add the following directories to my home directory:

  • bin - contains scripts and is put on path by .bashrc
  • dev - contains development work, such as project working directories
  • tools - contains custom tools for a particular user, e.g. eclipse, maven.

Add the following lines to your .bashrc or appropriate script to put the bin directory on the system path:

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
  export PATH

Multi-User setup

In order to share various files around users on a single machine it is useful to put shared files under /Users/Shared and then add symbolic links in each user’s home directory to pass through to those locations. For example:

ln -s /Users/Shared/documents ~/Documents/shared

Prevent .DS_Store file creation over network connections

This is covered by Apple knowledge base article but I’ve given the command here also (just run it in a terminal window):

defaults write DSDontWriteNetworkStores true

This will keep your windows friends and file system purist happier :)

Synchronisation between machines

Its good practice to ensure that operating system specific files are not synchronised. Often these files are localised cache structures or permission related so they could cause more problems if sychronised.

The following operating system files should not be transferred between machines:


The following app specific files should not be transferred between machines:

Startup items

Startup items for the system can be added to /Library/StartupItems or configured through the preference pane.


blog comments powered by Disqus
Fork me on GitHub