当前位置: 首页 > 科技观察

Linux中绝对路径和相对路径有什么区别?

时间:2023-03-13 02:44:38 科技观察

path是Linux中最基本的概念之一,每个Linux用户都必须知道。路径是指文件和目录的引用方式。它给出了Linux目录结构中文件或目录的位置,由名称后跟斜杠组成。/home/abhishek/scripts作为系统用户,当您想要访问某个文件或目录时,或者当您必须为命令或脚本指定文件或目录的位置时,您会使用该路径。cat/home/abhishek/scripts/my_script.sh请记住,如果路径以斜杠“/”开头,则第一个斜杠表示根,路径中的其余斜杠只是分隔符。初学者经常将根斜杠与分隔斜杠混淆。在上图中,第一个路径以根路径(/)开头,第二个路径不以/开头。这两种写法都是正确的,第一种是绝对路径,第二种是相对路径。Linux中的绝对路径和相对路径绝对路径总是从根目录(/)开始,例如:/home/abhishek/scripts/my_scripts.sh相对路径从当前目录开始。比如你在/home目录下,想访问my_script.sh文件,那么访问的路径应该是:abhishek/scripts/my_scripts.sh了解绝对路径和相对路径的区别我们都知道Linux中的目录结构是一棵A树,从根(/)开始并分枝。假设我们现在在目录abhishek中,想要访问文件my_scripts.sh,如下图,两个路径的表示:假设我们使用ls命令查看my_script.sh的文件信息,那么使用绝对路径:ls-l/home/abhishek/scripts/my_script.sh那么,相对路径:ls-lscripts/my_script.sh那么,以上两种方法除了文件路径外完全一样:注意:在Linux,文件名区分大小写。可以包含大写字母、小写字母、数字、点、破折号、下划线和除斜杠(/)之外的大多数字符。斜杠(/)用作根目录的保留字符,用于分隔路径中的目录。使用相对路径与.和..目录有两个特殊的相对路径:.(一个点):表示路径中的当前路径;..(两个点):表示父目录,即上一级目录。如下图所示,我们需要从abhishek目录进入prakash目录。要更改目录,请使用cd命令。如果你使用绝对路径,你可以这样做:cd/home/prakash如果你使用相对路径,你需要使用一个特殊的相对路径..:cd../prakash为什么要使用..?因为相对路径从当前目录开始,我们需要告诉cd命令向上一级,带我们到/home目录,然后从那里到prakash目录。绝对路径总是以/开头并且与当前位置无关;相对路径取决于当前位置。绝对路径和相对路径,应该用哪个?老实说,这个问题没有直接的答案。这取决于。如果您当前处于较深的目录层次结构中并且需要向上或向下移动一个级别,则使用相对路径会更容易。假设您在/home/username/programming/project/interface/src/header目录中,并且需要访问/home/username/programming/project/interface/bin目录中的内容。使用相对路径避免键入所有长目录名称,只需在此处使用.././bin。但是,如果您想从/home/username/programming/project/interface/src/header目录访问/usr/bin目录中的内容,请使用../../../../../../usr/bin会比较麻烦,这时候用绝对路径更方便。另一种情况是在脚本或程序中使用路径。如果确定了位置,则使用绝对路径;如果项目中有多个文件夹,需要在它们之间切换,那么这里需要使用相对路径,因为你不确定最终用户会将程序放在哪里。