这个命令是列出我fileAsst目录只有文本文件:
ls ~/UnixCourse/fileAsst/*.txt
现在我需要做同样的事情,但是改为使用相对路径,我已经试过到目前为止:
ls ~/UnixCourse/../*.txt
但它说我没有得到正确的答案,任何人都可以给我一些提示或解释相对路径和绝对路径之间的差异,因为我还在它不。
相对是一如既往的好,相对于一些现有的目录,你目前“位于”在(由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/../
注意,这是一个正交的概念,并且可以与两者相对和绝对的,路径使用。
有两类路径名:
绝对路径具有相同的含义,无论你当前的工作目录。初始斜线后的绝对路径可能包含..
组件。与横穿无符号链接没有..
分量的绝对路径名有时也被称为“真正的路径”,即可以被用来确定一个名称的实际路径中的系统调用realpath()
之后。
相对路径是相对于当前的工作目录;从概念上讲,每一个相对路径可以被视为开始./
。相对名称可能与..
开始从当前工作目录向上移动。相对路径名的一种特殊情况是一个简单的文件名 - 有没有明确的目录组件的名称。当然,这是在当前目录中的文件(或其他指定的对象)。
为了确定从绝对路径相对路径名,你也必须知道当前的工作目录。
欲了解更多信息,请参见:
绝对路径:绝对路径是包含根目录下,并包含一个文件或文件夹的所有其他子目录的路径。
~/UnixCourse/fileAsst/*.txt
相对路径:相对路径是唯一的完整路径的一部分。
cd ~UnixCourse/fileAsst/
ls *.txt
没看到一个成荫的答案...
ls ../fileAsst/*.txt
希望可以帮助别人!