The Unix Hierarchical Filesystem
Large collections of files bring the risk of filename collisions, and even with unique names, make management difficult. Unix handles this by permitting files to be grouped into directories: each directory forms its own little name space, independent of all other directories. Directories can also supply default attributes for files, a topic that we discuss briefly in Section B.6.1, later in this Appendix.
Filesystem Structure
Directories can be nested almost arbitrarily deep, so the Unix
filesystem forms a tree structure. Unix avoids the
synonym folder because paper file
folders do not nest. The base of the filesystem tree is called
the root directory, and is given a
special and simple name: /
(ASCII
slash). The name /myfile
then
refers to a file named myfile
in
the root directory. Slash also serves another purpose: it acts as a
delimiter between names to record directory
nesting. Figure B-1
shows a tiny portion of the top-level structure of the
filesystem.
Figure B-1. Filesystem tree
Unix directories can contain arbitrary numbers of files. However, most current Unix filesystem designs, and filesystem programming interfaces, assume that directories are searched sequentially, so the time to find a file in a large directory is proportional to the number of files in that directory, even though much faster lookup schemes are known. If a directory contains ...
Get Classic Shell Scripting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.