Like the title says, what is the difference between an absolute and relative pathname? I'm taking a Computer Organization class right now, and the lecture I'm in is a crash course in Unix. The lecture slides say:
The pathnames described in the previous slides start at the root.
These pathnames are called 'absolute pathnames'
For reference, the "previous slides" basically showed a file tree with the root directory / as the top node.
The slide after it says:
If we are in the directory /home/chrisc, the relative pathname of the
file 'syllabus' in the directory /home/chrisc/comporg/ is:
comporg/syllabus
I'm still confused by what the difference is between an absolute and relative pathname. For example, I'm on a Mac. My root directory is /. To get to my Documents from /, I would have to do cd /Users/Daniel/Documents
.
Once in my documents, I need to access a folder called School
. If I want to get to School
, I would do cd School
.
From this understanding, is the relative path for any given file basically the file path beneath the directory you are currently "standing in"?
You are correct in your assumption.
the relative path is the path minus the output from pwd.
the absolute path always starts from the root "/" directory.
example:
if you have just logged in you are in your home directory - /home/user - and have a file text.txt in your home directory.
the relative path is text.txt
the absolute path is /home/user/text.txt
/
.The literal wording from the POSIX standard:
A relative path is a path relative to some working directory (the directly you are currently at, for example).
In that sense, a relative path can be interpreted as a series of instructions telling you how to reach the target from your working directory.
An absolute path is a path relative to some root directory (C:\ on windows for example or / on UNIX-like systems).
So you are correct.