Extended file attributes are pieces of information that can be attached to a computer file to include additional data about the file itself or its contents. Unlike system attributes, such as the file extension or whether the file can be modified, many extended file attributes are really metadata that are user- or application-defined, most of the time bearing no significant meaning to the operating system. Examples of extended file attributes include a file’s author, the name of a department that relates to the file contents or, in some situations, data the operating system can use if present, such as the location of the display icon for the file. Not all file systems, storage devices or operating systems support extended file attributes, meaning they might not always be transferred with a file and might not always be retrievable by a system outside of where it was created. The exact implementation of extended file attributes varies from one file system to another, with some versions using a single system file to store metadata and others storing the information in the file header itself.
There is no formal standard that dictates how extended file attributes should be implemented or how an operating system or file system should handle them. Most often, the extended attributes are arranged as metadata in attribute-value pairs, a basic data structure consisting of the name of an attribute followed by its value. This gives the extended attributes flexibility in their use, because a program or user can give an attribute any name and value that is needed, although the length of the value usually is restricted to a certain number of characters.
Extended file attributes frequently are used to help classify files in some way. This can be done with attributes such as the author of a file, some type of brief description of the file contents, or a human-readable description of the application that created the file. In some operating systems, the extended attributes can be used in file searches so a group of files with some common extended attributes can be quickly assembled.
In networked file systems, extended file attributes can be used by network administrators to store information that can be read and used by special applications. This can include security and access restrictions beyond the basic ones provided by the operating system, or it can be information to help determine network storage locations for files in a large system. One complication that can occur when using extended attributes over networks is that the destination system might not support the attributes and could strip the information from the file, meaning the extended data could be missing if the file is returned across the same network.