|Red Hat Enterprise Linux 4: Red Hat Enterprise Linux Step By Step Guide|
|Prev||Chapter 3. Managing Files and Directories||Next|
Every operating system has a method of storing data in files and directories so that it can keep track of additions, modifications, and other changes. In Red Hat Enterprise Linux, every file is stored in a directory. Directories can also contain directories: these subdirectories may also contain files and other subdirectories.
You might think of the file system as a tree and directories as branches. There would be no tree without a root, and the same is true for the Red Hat Enterprise Linux file system. No matter how far away the directories branch, everything is connected to the root directory, which is represented as a singe forward slash (/).
Red Hat Enterprise Linux uses the term root in several different ways, which might be confusing to new users. There is the root account (the superuser, who has permission to do anything), the root account's home directory (/root) and the root directory for the entire file system (/). When you are speaking to someone and using the term root, be sure to know which root is being discussed.
To continue the tree analogy from Section 3.2 A Larger Picture of the File System, imagine navigating the file system as climbing around in the branches of the tree. The branches you would climb and traverse in order to get from one part of the tree to another would be the path from one location to another. There are two kinds of paths, depending on how you describe them. A relative path describes the route starting from your current location in the tree. An absolute path describes the route to the new location starting from the tree trunk (the root directory).
Graphic file browsers like
Nautilus use an absolute path to
display your location in the file system. At the top of a
Nautilus browser window is a
location bar. This bar indicates your current location
starting with a forward slash (/) — this is an
absolute path. You can navigate the file system by entering
the absolute path here. Press
Navigating via the shell prompt utilizes either relative or absolute paths. In some instances, relative paths are shorter to type than absolute paths. In others, the unambiguous absolute path is easier to remember.
There are two special characters used with relative paths. These characters are "." and "..". A single period, ".", is shorthand for "here". It references your current working directory. Two periods, "..", indicates the directory one level up from your current working directory. If your current working directory is your home directory, /home/user/, ".." indicates the next directory up, /home/.
Consider moving from the /usr/share/doc/ directory to the /tmp/ directory. The relative path between the two requires a great deal of typing, and requires knowledge of the absolute path to your current working directory. The relative path would look like this: ../../../tmp/. The absolute path is much shorter: /tmp/. The relative path requires you to move up three directories to the / directory before moving to the /tmp/ directory. The absolute path, which always starts at the / directory, is much simpler.
However, the relative path between two closely-related directories may be simpler than the absolute path. Consider moving from /var/www/html/pics/vacation/ to /var/www/html/pics/birthday/. The relative path is: ../birthday/. The absolute path is: /var/www/html/pics/birthday/. Clearly, the relative path is shorter in this case.
There is no right or wrong choice: both relative and absolute paths point to the same branch of the tree. Choosing between the two is a matter of preference and convenience. Remember, the Nautilus location bar does not recognize the ".." symbol — you must use an absolute path.