Unix中相对路径的绝对路径

qlvxas9a  于 2022-10-17  发布在  Unix
关注(0)|答案(4)|浏览(356)

此命令用于仅列出我的fileAsst目录中的文本文件:

ls ~/UnixCourse/fileAsst/*.txt

现在我需要做同样的事情,但使用相对路径,我到目前为止尝试的是:

ls ~/UnixCourse/../*.txt

但它是说我没有得到正确的答案,有人能给我一些提示或解释一下相对路径和绝对路径之间的区别吗,因为我仍然不理解它。

wgx48brx

wgx48brx1#

Relative总是,好吧,相对于某个现有目录,您当前位于其中(通常通过cd命令)。在您的问题中,您没有显示当前目录是什么。因此,没有单一的“正确”答案。
如果您的当前目录是~(这只是您的主目录的快捷方式,例如/home/myuser),那么您的相对ls命令将如下所示(为清楚起见,我添加了隐含的前面的cd命令):

cd ~
 ls UnixCourse/fileAsst/*.txt

同样,如果您的当前目录是~/UnixCourse,则相对的ls命令将如下所示:

cd ~/UnixCourse
 ls fileAsst/*.txt

或者最简单的情况是,当您已经位于要列出以下内容的目录中时:

cd ~/UnixCourse/fileAsst
 ls *.txt

明白了吗?
最后,正如您(我假设是偶然发现的)所发现的,您可以在路径中使用...,以表示“向上的一个(子)目录”或“当前的目录”。
例如,以下路径等价,且都解析为“UnixCourse/fileAsst”:

UnixCourse/../UnixCourse/fileAsst/
 UnixCourse/SomeOtherDir/../fileAsst/
 UnixCourse/./fileAsst
 UnixCourse/fileAsst/YetAnotherDir/../

请注意,这是一个正交概念,可用于相对路径和绝对路径。

c2e8gylq

c2e8gylq2#

有两类路径名:
1.绝对:从斜杠开始。
1.相对:不要从斜杠开始。
无论您当前的工作目录是什么,绝对路径名都具有相同的含义。绝对路径名可能在初始斜杠后包含..组件。在可以用来确定名称的真实路径的系统调用realpath()之后,没有经过符号链接的没有..组件的绝对路径名有时被称为‘实际路径’。
相对路径名相对于当前工作目录;从概念上讲,每个相对路径名都可以被视为以./开头。相对名称可能以..开头,以从当前工作目录向上移动。相对路径名的一个特例是简单文件名--没有显式目录组成部分的名称。当然,这是当前目录中的一个文件(或其他命名对象)。
要根据绝对路径名确定相对路径名,还必须知道当前的工作目录。
有关详细信息,请参阅:

u5rb5r59

u5rb5r593#

绝对路径:绝对路径是包含根目录和包含文件或文件夹的所有其他子目录的路径。

~/UnixCourse/fileAsst/*.txt

相对路径:相对路径只是完整路径的一部分。

cd ~UnixCourse/fileAsst/ 

  ls *.txt
jbose2ul

jbose2ul4#

没有看到一句简单的回答...

ls ../fileAsst/*.txt

希望这能帮助到一些人!

相关问题