具有以下简单结构:
project
main
aaa
aaa
test
ddd
ddd
pom.xml <--- unique regular file
如果当前目录是project
并且如果执行则ls
出现命令
main pom.xml test
到这里一切都OK了。现在,根据man ls
有关d
选项存在:
-d, --directory
list directories themselves, not their contents
因此,执行时ls -d
会出现命令:
.
为什么?老实说,我只期望目录而不是常规文件。例如
main test
问题
d
该命令的选项到底如何ls
工作?
额外问题:
- 它们的内容到底意味着什么?是关于每个目录的内部内容吗?
通常,当您
ls
输入目录时,会显示该目录的内容。例如在你的例子中:
如果您使用该
-d
标志,则列出目录本身这听起来很无聊,直到你看到像通配符这样的东西:
我们可以看到每个目录都匹配,我们得到了这些目录中的文件列表。
但是
-d
我们只获取目录名称本身,而不是目录内的文件。ls -d
是关于不再进一步遍历目录。ls
不带参数相当于ls .
,这就是为什么您只看到.
输出。作为如何使用它的示例:如果您想查看某些目录元数据(例如,使用
ls -ld
.你问的是一个非常广泛的问题。但对您的困惑的简短回答是:(当未指定时) 的 默认参数是。当您在没有选项的情况下运行时,您将获得的内容。 当你跑步时,你就会得到。
ls
.
ls
.
ls -d
.