*
表示所有文件和目录,包括子目录中的文件。
/
意思是在根目录下
ls */
引入当前目录中子目录中的文件(不包括当前目录中的文件)
ls -d
列出目录条目而不是内容。我的目录充满了文件和子目录。为什么在我的例子中这只带来了./
?
把所有的加在一起我就有了ls */ -d
。它带来当前目录中的所有目录。这个组合的逻辑是什么?如果我列出这个命令的单独部分,它不会带来这样的结果。
答案1
/
并不意味着根目录。它是一个路径分隔符。如果路径开始使用/
,那么当然,您就有了一个从根级别开始的绝对路径。在这里,斜杠出现在 后面*
。星号通配当前目录的所有条目,但这里的模式是*/
:当前目录中以/
;结尾的所有内容。文件不以 结尾/
,但以斜线结尾的路径表示您指定了一个目录,因此这仅表示目录。与*.txt
which 进行比较意味着所有以 . 结尾的条目.txt
。