Go to the previous, next section.

File Trees and Pathnames

The unix file system is hierarchical. The top of the tree is referred to as `root'. The complete list of directories that must be traversed to access a given file is referred to as it's `pathname'. Your home directory (default directory where all your files will be stored) will usually be somewhere in the middle of the unix file tree. An example of a unix file tree is shown.

                                / (root)
                                |\
                               /|\ \
                              / | \  \
                             /  |  \   \
                            /   |   \    \
                          etc  bin  tmp  users
                                |          |
                                |         / \
                                |        /   \
                                ls     joe   sam
                                        /
                                       /
                                     foo

All files have an absolute pathname (or full pathname) and infinitely many relative pathnames. If `joe' is a user of this system, the pathname to his home account would be `/users/joe'. If he had a file called `foo' in his home directory, it's full pathname would be `/users/joe/foo'. If you were in /users, it's relative pathname would be `joe/foo'. The following concept is what allows infinitely many relative pathnames.

In every directory there are two (2) files that are created by the system when the directory is created. They are `.' and `..'. These files allow relative access to a file. The `.' means the current directory and the `..' means the previous directory. For example, if I am in joe's home directory (/users/joe), and I wish access his file `foo', I can reference it by `./foo', `../joe/ foo', `../joe/./foo', etc.

Go to the previous, next section.