绝对路径在Unix的相对路径

问题描述 投票:0回答:4

这个命令是列出我fileAsst目录只有文本文件:

  ls ~/UnixCourse/fileAsst/*.txt

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

  ls ~/UnixCourse/../*.txt 

但它说我没有得到正确的答案,任何人都可以给我一些提示或解释相对路径和绝对路径之间的差异,因为我还在它不。

unix ls
4个回答
0
投票

相对是一如既往的好,相对于一些现有的目录,你目前“位于”在(由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/../

注意,这是一个正交的概念,并且可以与两者相对和绝对的,路径使用。


0
投票

有两类路径名:

  1. 绝对的:开始用斜杠。
  2. 相对:不以斜线开头。

绝对路径具有相同的含义,无论你当前的工作目录。初始斜线后的绝对路径可能包含..组件。与横穿无符号链接没有..分量的绝对路径名有时也被称为“真正的路径”,即可以被用来确定一个名称的实际路径中的系统调用realpath()之后。

相对路径是相对于当前的工作目录;从概念上讲,每一个相对路径可以被视为开始./。相对名称可能与..开始从当前工作目录向上移动。相对路径名的一种特殊情况是一个简单的文件名 - 有没有明确的目录组件的名称。当然,这是在当前目录中的文件(或其他指定的对象)。

为了确定从绝对路径相对路径名,你也必须知道当前的工作目录。

欲了解更多信息,请参见:


0
投票

绝对路径:绝对路径是包含根目录下,并包含一个文件或文件夹的所有其他子目录的路径。

  ~/UnixCourse/fileAsst/*.txt

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

  cd ~UnixCourse/fileAsst/ 

  ls *.txt

-1
投票

没看到一个成荫的答案...

ls ../fileAsst/*.txt

希望可以帮助别人!

© www.soinside.com 2019 - 2024. All rights reserved.