A relative pathname is any pathname which does not start with a slash. The CWD of a process is inherited by it's child processes, but any process can change its CWD at will. The login program sets the CWD of the shell to the user's home directory . Unix files can have many names. Each directory entry is called a link , and so a file can have many links.
Every process already has three files open when it is created.
Hence, it has three file descriptors in use. This allows a style of program which functions as a simple filter , reading bytes from standard input, processing them, and writing the result to standard output. Standard error is used to report errors, so that they aren't mixed up with the output. But many Unix programs are written as filters and this allows them to be connected in a pipeline , standard output to standard input, to build complex applications out of a simple chain of filters. Files as Abstractions A file is an abstraction through which we can access data on disk.