Occasionally over the last few months I've found myself in front of a Unix command prompt (helping with our Asterisk server ala Linux or changing file permissions on a OS X machine using the command prompt). I forgot how ahead of it's time Unix was. At my previous job at Honeywell I spent quite a bit of my time administrating Solaris, AIX and HP-UX with a little Linux on the side. It was amazing the environment we had setup there with things like NIS (distributed login), NFS (distributed file system) and functionality in the core OS.
One feature I miss in the core OS was symbolic links. Symbolic links allowed you to split the organization of files and folders into a logical view (how the user saw the structure) and a physical view (how they were actually arranged on the disk). Basically, you would link directories (or files) from a physical point to a logical directory structure. This meant that you had complete control over how you setup your disks and volumes. Run out of disk on a volume? Well you could always move a large directory structure over to a different volume and then link it back to the original. No one (even apps) would know the difference.
Come to find out Microsoft added this functionality into Windows quite a while ago, but they never added it to the UI. They provided command line tools in the resource kits but they were hard to find in the documentation. After searching a bit I ran across a utility called the Link Shell Extension. This tool allows you to create several different types of links: hardlinks, junctions and symbolic links (each clearly discussed on the site above).
So how can this be used?
- Want to store your pictures on your D drive but access them from My Documents/My Pictures? Move the My Pictures directory over to the d drive then make a junction back to it's original location (Vista allows some folders to be redirected today, but in my experience not all apps understand the redirect).
- Is your shared drive on your file server getting too large for a single volume? Do you not want to mess with the complexity of DFS? You can create a logical view of the shared drive that is physically stored on several volumes.
If you're interested in solving these problems please test before making them in production. I haven't spent an exhaustive amount of time testing these scenarios. I did find though that none of the link types work well across network drives.
If you think of other uses for links please share...