A pathname has six components: a host, a device, a directory, a name, a type, and a version.
The name of the file system on which the file resides, or the name of a logical host.
Corresponds to the “device” or “file structure” concept in many host file systems: the name of a logical or physical device containing files.
Corresponds to the “directory” concept in many host file systems: the name of a group of related files.
The “name” part of a group of files that can be thought of as conceptually related.
Corresponds to the “filetype” or “extension” concept in many host
file systems. This says what kind of file this is.
This component is always a string, nil
, :wild, or :unspecific.
Corresponds to the “version number” concept in many host file systems.
The version is either a positive integer
or a symbol from the following list:
nil
, :wild, :unspecific, or :newest
(refers to the largest version number that already exists in
the file system when reading a file, or to
a version number
greater than any already existing in the file system
when writing a new file). Implementations
can define other special version symbols.