说明:
在编写shell脚本来管理系统或其他一般情况时,推荐使用绝对路径。因为在某些时候工作的环境或文件管理时发生变化可能导致某些绝对路径是有冲突的,这会产生一些问题。
比如在清华大学的第一教学楼里面有一个机器人实验室,文件上表示为:
/清华大学/第一教学楼/机器人实验室 。
绝对路径查找机器人实验室: “/清华大学/第一教学楼/机器人实验室”
相对路径查找机器人实验室: “ 第一教学楼/机器人实验室”
绝对路径是按照一个特定的路径一直找下去的,而相对路径是指某个第一教学楼下有一个机器人实验室,这是相对的概念。
有的时候要变换环境,比如北京大学现在新建了一个机器人实验室,也在第一教学楼,
/北京大学/第一教学楼/机器人实验室
此时如果继续使用绝对路径的话我们能保证我们找的是清华的机器人实验室,而如果使用相对路径那我们既可能是要找清华的机器人实验室,也可能要找北大的机器人实验室。
相对路径(Relative Path)
相对路径则是相对于当前工作目录的路径描述,不是由 / 写起的。当指定一个相对路径时,路径的起点是当前所在的目录。如果要访问同一目录下的文件,可以直接写文件名;要访问子目录或父目录中的文件,则使用特殊符号(如“.”表示当前目录,“..”表示上级目录)或直接写出相对于当前目录的路径部分。例如,如果当前目录是"/home/user",那么要访问"documents"目录下的"myfile.txt",可以写作"documents/myfile.txt"。
特点:
- 便捷性:在日常操作中,特别是当频繁在几个相邻目录间切换时,相对路径更为简洁和方便。
- 变动性:由于基于当前目录,如果当前目录发生变化,同样的相对路径可能指向不同的实际位置。
- 表示方法:除了“.”和“..”,相对路径还可以使用波浪线(~)来表示用户家目录,或者“~username”来表示其他用户的家目录。
绝对路径(Absolute Path)
绝对路径是从根目录(/)开始的完整路径,一定由根目录 / 写起的。它提供了一个文件或目录在文件系统中的确切位置,不依赖于当前的工作目录。绝对路径总是以斜杠(/)开头,然后跟随一系列的目录名,每个目录名之间用斜杠分隔。例如,"/home/user/documents/myfile.txt" 是一个绝对路径,它指定了从根目录开始,经过home目录,再到user目录,最终到达documents目录下名为myfile.txt的文件。
特点:
- 确定性:绝对路径指向的位置是固定的,不会因为当前工作目录的改变而变化。
- 广泛适用性:在编写脚本、配置文件或进行系统管理任务时,使用绝对路径可以确保操作的准确无误。