Heirarchical FileSystem (extended)
The default filesystem on Mac OS. Also known as Mac OS Extended.
When support for HFS+ was made available with Mac OS 8.1 in 1998, it offered several enhancements
to HFS, the filesystem that it replaced. These included smaller allocation block size, which makes better use of disk space,
and long Unicode file names. There are several significant differences between HFS+ and other filesystems, such as UFS.
- Multiple forks
Files may have a resource fork in addition to a data fork. This is used to store
resources such as icons, graphics, localized strings and extended metadata. With Mac OS X, Apple
discourages the use of resource forks, and provides a more elegant system of bundles to provide the benefits of
the multi-fork system (such as easy internationalization), but without the drawbacks (cannot be transfered to other filesystems without
- Case insensitive, case preserving
Much like e2 node titles.
The files foo.txt and Foo.txt are considered to be the same, and cannot both exist within the same directory. This can cause problems with *nix
software on Mac OS X that expects to be able to have differently capitalized files within a directory. PHP is a case in point,
which tries to create a directory called PEAR and a file named pear in the same place.
- Path separators
The colon (:) is used as the path separator, not the slash character. This means that colons cannot appear within
filenames. Slashes may appear in names, but it is not recommended.
- Extended metadata
HFS+ supports creation dates as well as modification dates, and also stores creator and type information within the file.
Aliases are similar to symbolic links, in that they are a lightweight reference to another file. They differ from symlinks as
the path to which they point is not hardcoded. In other words, you may move the referenced file and the alias will still point to
that file. This is not always desiarable behaviour, so Mac OS X supports symbolic links as well as aliases.