a tree-structured directory
Think of a family tree, or the way a company org chart branches: one box at the top, branches splitting into sub-branches, leaves at the ends. A tree-structured directory organises files exactly this way. At the very top is a single special directory called the root. From the root, branches lead to sub-directories, which lead to further sub-directories, and the leaves of the tree are your actual files. This is the directory structure used by essentially every modern operating system.
The rules that make it a tree are simple and strict. There is exactly one root, written / on Unix-like systems. Every directory may contain files and other directories, nesting as deep as you like. And, crucially, each file or directory has exactly one parent, so there is exactly one path from the root down to any given item, which is what makes a name like /home/alice/notes/today.txt unambiguous. Each step in that path picks one branch: from root into home, into alice, into notes, and finally to the file. Two special entries appear in most directories: a dot meaning this directory itself and a double-dot meaning the parent, which is how you walk back up toward the root.
Why it matters: the tree gives us a single unified namespace that is both organised and navigable, every file has a clear address, related files live together, and different users get private branches. It is the foundation for absolute paths, the current working directory, and mounting other file systems into the tree. The one honest limitation of a pure tree is that strict one-parent rule: it cannot, by itself, let two different folders share the very same file. Allowing that requires relaxing the tree into an acyclic graph using links.
The path /home/alice/notes/today.txt names one file by spelling out the single route from root down: into home, into alice, into notes, to today.txt. Because each item has one parent, this address is unique, no other today.txt anywhere collides with it.
One root, every item with exactly one parent, so every path is unambiguous.
A pure tree's one-parent rule means it cannot natively let two folders share one file; that needs the acyclic-graph extension via links. The dot and double-dot entries are how you refer to the current and parent directories.