Linux的文件系统也是采用的树状结构,树状结构的话就会有两种路径表示方式:绝对路径与相对路径。
绝对路径就是从根目录开始,依次将各级子目录的名字组合起来,形成的路径就称为某个文件的绝对路径。例如,根目录(/)下有目录usr,usr目录下有子目录bin,bin目录下有文件chsh,则chsh文件的绝对路径就是:
/usr/bin/chsh
相对路径是相对当前所在路径的位置,例如当前所在的位置为/usr,也就是在根目录的usr子目录下,则chsh文件相对当前位置的路径为:
bin/chsh
仔细观察下就会发现,当前路径(/usr)+ 相对路径(bin/chsh)刚好就是绝对路径了;下面给个示例演示一下:
- kris@ubuntu:~$ cd /usr
- kris@ubuntu:/usr$ ls -al /usr/bin/chsh
- -rwsr-xr-x 1 root root 31748 2011-06-24 02:36 /usr/bin/chsh
- kris@ubuntu:/usr$ ls -al bin/chsh
- -rwsr-xr-x 1 root root 31748 2011-06-24 02:36 bin/chsh
- kris@ubuntu:/usr$ cd ..
- kris@ubuntu:/$ ls -al bin/chsh
- ls: cannot access bin/chsh: No such file or directory
- 第1行:通过cd指令切换到/usr目录
- 第2行:通过ls指令查看chsh文件的属性(使用的绝对路径)
- 第3行:通过ls指令查看chsh文件的属性(使用的相对路径)
- 第6行:返回到/usr的上层目录,即根目录
- 第7行:在根目录使用相对路径查看chsh的属性,因为这个时候我们仍然是使用相对于/usr目录的路径,因此系统提示文件或路径不存在的错误
为了能够在根目录使用相对路径访问chsh文件,需要修改相对路径为:
usr/bin/chsh
和绝对路径的表示方式很相似,就一个 / 的差距,因此绝对路径和相对路径也非常好区分,如果路径的第一个字符为/,则这是一个绝对路径,如果不是/,则为相对路径。