If you open the root of your Mac’s hard drive, you’ll see four very neatly organized folders: Applications, Library, System, and Users. But there is much, much more hidden from you, that your Mac needs to do what it does. Do you need to know what any of them are? Absolutely not. But you’re a geek, and you’re curious, so lets find out anyway.
Here’s a typical Mac hard drive. Applications, of course, is the default location for installing most Apps on the Mac. Library is a very important folder; it contains shared resources like drivers, plugins, screensavers, fonts, wallpapers, logs, and more. The System folder is full of lots of extensions and tools needed by the OS, and Users is where the user hole folders (or Profiles, in Windows parlance) are stored.
But open the Terminal and type a command to list all items, and the story is very different:
ls -la /
Wow. Okay, that’s a lot. What are all these things? Let’s take them one at a time. The first group of files you’ll notice, all start with a period. This is a time-honored way to hide items in UNIX, or make them invisible. Now, if you just went to try to hide your pictures folder by renaming it “.Pictures”, you probably noticed the Finder won’t let you; you can only do it in the command line.
mv Stuff .Stuff
Will rename a folder called “stuff” to “.Stuff”, and it will promptly disappear. You won’t see it in the GUI, you won’t even see it in the command line if you type “ls”. To see hidden items, you need “ls -a” or “list all”.
“.” is a symbolic path, it represents “here”. Sure, you would never need to type something like “cd .“, or “go here”, but sometimes you’ll need this in scripting.
“..” is another symbol, it stands for the parent directory. “cd ..” is how you could move up one directory on your drive. For example, if you were inside “/Users/Alex/Documents” and you typed “cd ..” it would bring you up one level to “Users/Alex”
Okay, now we get to an interesting one. .DS_Store is in every directory on a Mac, even empty ones. It contains cached info for the display of the folder in the GUI, like the list or column view, position of icons, background color, etc. This is why the Mac OS can render a folder full of hundreds, or thousands, of files very quickly- the info is already cached, and the icons don’t have to be redrawn every time. If you delete the file, it will simply be recreated.
Newer apps since Lion have been able to auto-save and store multiple revisions for a file. These tools are implemented at the developers’ discretion, therefore it is supported in some apps and not others. As of Mavericks, all of Apple’s own apps support it, like Pages, Numbers, Keynote, TextEdit, Preview and more. When you work in one of these apps, it is always, constantly autosaving, but a revision is created only when you manually save or close the file. You can revert to an earlier version by using the File menu. The interface looks a lot like Time Machine, but it does NOT require Time Machine to be turned on, the revisions feature is always on.
Because the revisions are stored in this centralized database, and not in the individual files themselves, the feature can conceivably work with ANY app and file format. it also means, if you give someone your document, you aren’t giving them all of your embarrassing early drafts along with it. However, if also means you’ll lose your versions if you move the file to a different drive.
A relatively new feature, and only activated on laptops, Time Machine can keep a local cache of backups, when the backup drive is not available. For example, if you take your work computer home with you for the weekend, or go on vacations, hourly backups will be held locally until you return and connect to the backup drive, at which time they will all be dumped to the backup drive. pretty neat.
Time Machine will keep this local cache from getting TOO big, of course; you wouldn’t want to fill up your drive with files you intended to throw away! More details can be found here: http://support.apple.com/kb/PH18861?viewlocale=en_US&locale=en_US If you really wish to disable this feature and save some space, you can use the command
sudo tmutil disablelocal
Is the cached metadata used when searching with Spotlight. This, too is automatically created. If you don’t wish to index your drive, you have to use the Spotlight system preference to exclude it. This will stop indexing, and delete the .Spotlight-V100 folder. If you just wanted to rebuild the index because searches felt slow, add the drive to the exclusions list, then take it back out. A couple seconds later, Spotlight will re-index.
This is for all sorts of temporary data, used by a lot of different purposes. I can’t really find a concise explanation for it, but a lot of people like to blame Microsoft. it should clean itself up.
Your trash can! Yup, if you put a file in the trash, it goes to /.Trashes or ~/.Trash, depending on who the file belonged to. When you empty the trash, this directory is wiped clean.
Somehow related to .fseventsd, below.
I dont know about this one. Its root protected, and it is 0 bytes. When I open it, it’s blank. If anyone has an idea, let me know.
This is a log of file reads and writes, created by the File System Events Daemon.
This is for tracking certain small files so their position on disk can be optimized. This is known as “adaptive hot file clustering”.
.quota.ops.user .quota.user .quota.ops.group .quota.group
These files are used for enabling user and group quotas, a feature in OS X Server.
This is used for accessing files by their ID, or inode number rather than their name. Don’t lose any sleep over it.
This directory contains links to all mounted servers. Since Macs dont use drive letter mapping like Windows.
This directory contains links to all mounted volumes, since Macs don’t use drive letter mapping. For example, to access a flash drive in the Terminal, instead of typing d:\FlashDrive, you’d type /Volumes/FlashDrive
The rest of these are some hardcore UNIX stuff, and this is getting long, so we will continue in Part 2!