Is it possible to get the full suite of unix options for the command line tools on OS X? I follow Unix Tool Tip on Twitter and it is interesting that many of the tips that are posted are not available on OS X.  

For example:


  cp - u will only copy files that don't exist, or are newer than their existing counterparts, in the destination directory.


Trying this on my machine results in:

cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
   cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory  


Why are these options not available and is it possible to get access to them on OS X?
Get homebrew and have it install the core utilities. You can then see if the GNU version of cp supports the flags you desire. Here is a good answer on a partner site and I'll excerpt the exact steps you'll need to have cp be replaced by the GNU version if you wish:

Here's homebrew - http://mxcl.github.com/homebrew/
Here's the long story - https://superuser.com/questions/476575/replace-os-xs-shell-commands-with-the-linux-versions/476594#476594



An example of such an environment is [Homebrew] (http://mxcl.github.com/homebrew/) which for example has GNU sed among other things. Once you've installed Homebrew, you can type

brew install coreutils


and install the GNU Coreutils. These will provide you with sed, date, printf, wc and many other tools that ship with GNU/Linux, but not OS X. However, so as not to "override" default OS X binaries, they will be prefixed with g by default. So, after installing the Coreutils, if you want to use GNU sed, type

gsed


If this is too much of a hassle to type every time, you can add a "gnubin" directory to your PATH and just call GNU sed with sed. You will need to add the following to your ~/.bash_profile:

PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"