指明一个文件的存放位置有两种方法,分别是使用绝对路径和相对路径。
绝对路径:一定是由根目录/开始写起的。例如Nginx的配置文件的绝对路径为:/usr/local/nginx/conf/nginx.conf。如果仅给Linux系统传递一个文件名,它就无法找到指定文件,而当将文件的绝对路径传递Linux系统时,它就可以成功找到。
相对路径:和绝对路径不同,相对路径不是从根目录/开始写的,而是从当前所在的工作目录开始写起。使用相对路径标明某文件的存储位置时,经常会用到当前目录(用.表示)和父目录(用..表示)。
举个例子,当我们使用 root 身份登录 Linux 系统时,当前工作目录默认为 /root,如果此时需要将当前工作目录调整到 root 的子目录 Desktop 中,当然可以使用绝对路径,示例代码如下:
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /root/Desktop
[root@localhost Desktop]# pwd
/root/Desktop
可以看到,通过使用绝对路径成功地改变了当前工作路径。但除此之外,使用相对路径的方式会更简单。因为目前处于 /root 的位置,而 Desktop 就位于当前目录下,所以:
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ./Desktop
[root@localhost Desktop]# pwd
/root/Desktop
此代码中,./Desktop 表示的就是 Destop 文件相对于 /root 所在的路径。
再举一个例子,如果以 root 身份登录 Linux 系统,并实现将当前工作目录由 /root 转换为 /usr 目录,有以下 2 种方式:
#使用绝对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /usr
[root@localhost ~]# pwd
/usr
#使用相对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ../usr <-- 相对 root,usr 位于其父目录 /,因此这里要用到 ..
[root@localhost ~]# pwd
/usr