All directories can be accessed by starting at the root directory, and names consist of a sequence of directories followed by the file name. Now, file names can be specified as full path names , in which case the file is named relative to the root of the directory tree. Alternatively, file names can be relative names . That is, they are accessed with respect to the current or working directory . The working directory is associated with each process, and a system call is used to change to another working directory.
Some systems allow a file to be referenced by several aliases .
Aliases allow the use of shorter names for files that do not belong to one directory. Finding all of a file's aliases could be difficult, or might force the operating system to maintain a special table for aliases. Alternatively, a reference count could be associated with every file, with a count of the number of aliases. Deleting an alias decrements the reference count, deleting the file only if the count goes to zero. We could charge the original creator of the file, but this is unfair, especially if the original creator deletes file alias.