4. The Mac OS X Filesystem
IN THIS CHAPTER
A filesystem is a data structure (page 929) that usually resides on part of a disk and that holds directories of files. Filesystems store user and system data that are the basis of users' work on the system and the system's existence. This chapter discusses the organization and terminology of the Mac OS X filesystem, defines ordinary and directory files, and explains the rules for naming them. It also shows how to create and delete directories, move through the filesystem, and use absolute and relative pathnames to access files in various directories. It explores traditional UNIX file permissions, which allow you to share selected files with other users, as well as Mac OS X extended attributes: file forks, file attributes, and Access Control Lists (ACLs). It concludes with a discussion of different types of files and hard and symbolic links, which can make a single file appear in more than one directory.
Caution: Mac OS X files have multiple forks and attributes
Traditional UNIX systems have a simple mapping of a single filename to a single file. Macintosh operating systems divide files in a different way, assigning two or more separate files, called forks, to a single filename. The data fork is the traditional UNIX file and holds the file data. The resource fork holds a database of file resources (page 93).
Some UNIX utilities read the data fork only. Most utility programs provided with Mac OS X version 10.4 and later work properly with files that have multiple forks. Some third-party utilities may not handle resource forks correctly.
Similarly Mac OS X files have additional attributes, including type and creator codes, that some utilities do not recognize. See "File Attributes" on page 95 for more information.