In computing, a directory is a file system cataloging structure in which references to other computer files, and possibly other directories, are kept. On many computers directories are known as folders, catalogs (used on the Apple II, the Commodore 128 and some other early home computers as a command for displaying disk contents - the filesystems used by these DOS did not support hierarchal directories), or drawers to provide some relevancy to a workbench or the traditional office file cabinet. On Microsoft Windows, the terms folder and directory are used interchangeably.
Files are organized by storing related files in the same directory. In a hierarchical filesystem (that is, one in which files and directories are organized in a manner that resembles an inverted tree), a directory contained inside another directory is called a subdirectory. The terms parent and child are often used to describe the relationship between a subdirectory and the directory in which it is cataloged, the latter being the parent. The top-most directory in such a filesystem, which does not have a parent of its own, is called the root directory.
Historically, and even on some modern embedded systems, the file systems either have no support for directories at all or only have a "flat" directory structure, meaning subdirectories are not supported; there is only a group of top-level directories each containing files. The first popular fully general hierarchical file system was that of Multics. This type of file system was an early research interest of Dennis Ritchie.
In many operating systems, programs have an associated working directory in which they execute. Typically, file names accessed by the program are assumed to reside within this directory if the file names are not specified with an explicit directory name.
Some operating systems restrict a user's access to only their home directory or project directory, thus isolating their activities from all other users. In early versions of Unix the root directory was the home directory of the root user, but modern Unix usually uses another directory such as /root for this purpose.
The name folder, presenting an analogy to the file folder used in offices, and used originally by Apple Lisa, is used in almost all modern operating systems' desktop environments. Folders are often depicted with icons which visually resemble physical file folders.
There is a difference between a directory, which is a file system concept, and the graphical user interface metaphor that is used to represent it (a folder). For example, Microsoft Windows uses the concept of special folders to help present the contents of the computer to the user in a fairly consistent way that frees the user from having to deal with absolute directory paths, which can vary between versions of Windows, and between individual installations. Many operating systems also have the concept of "smart folders" that reflect the results of a file system search or other operation. These folders do not represent a directory in the file hierarchy.
If one is referring to a container of documents, the term folder is more appropriate. The term directory refers to the way a structured list of document files and folders is stored on the computer. Since the non-leaf nodes in the filesystem do not contain files, but are merely a list of names, it is not appropriate to refer to those objects as "folders". (That is to say, /usr/bin is a directory, but not a folder.)
- "Chapter 1: Tutorial". Using The AMIGA Workbench. Commodore-Amiga. July 1991. p. 46. "The path specifies the disk name, or location, and all of the drawers that lead to the specified file."
- Murach, Joel (2006). Murach's C# 2005. Mike Murach & Associates. p. 34. ISBN 978-1-890774-37-0. "With the introduction of Windows 95, Microsoft started referring to directories as folders."
- "Everything is a File" (Unix System Administration Independent Learning (mirror))
- "Apple Designs a New Kind of Machine"
|Wikimedia Commons has media related to Folders (computing).|
- Definition of directory by The Linux Information Project (LINFO)