仅列出所有目录和子目录的详细信息

List details of all directories and sub-directories only

使用以下作品显示当前目录的详细信息。

> ls -ld *

使用以下工作来显示当前位置和子目录中的所有目录和文件的详细信息。

> ls -lR *

但是如果我只想查看当前目录和子目录的详细信息,下面是行不通的。

> ls -lRd *

为什么 -lR 有效而 -ld 有效,而不是 -lRd 的组合?

是否有获取此信息的简便方法?

我怀疑你想要这样的东西:

find . -type d -exec ls -ld {} +

但我不太清楚你说 ls -lr * 有效的意思。使用 * 只是扩展到当前目录中的所有名称,而 -r 只是更改打印内容的顺序。 ls -lrd * 仅列出当前目录中所有条目的统计信息,不会显示子目录的任何内容,因为您使用 -d.

限制了输出

你也可以这样做:

$ shopt -s globstar
$ ls -ld **/

在您的 rc 文件中默认设置选项 globstar 没有坏处。同样占extglobglobstar 启用递归 glob **extglob 启用各种其他有用的 glob 表达式。