Ubuntu 14.04 LTS 直机,没有双启动或任何东西。
我在~/scratch
我只想要一个目录列表。
tree -dL 1
Run Code Online (Sandbox Code Playgroud)
知道了!
man ls
说:
-d List directories only instead of their contents.
Run Code Online (Sandbox Code Playgroud)
info ls
说:
-d List just the names of directories...
Run Code Online (Sandbox Code Playgroud)
显然,这不是我被告知它应该做的。我不明白什么?
ls -d
将列出没有其内容的目录条目,它不用于仅显示目录中的目录条目。
一个例子会让你清楚:
$ tree
.
??? egg
??? spam
??? test
??? new
??? old
$ ls *
egg spam
test:
new old
$ ls -d *
egg spam test
Run Code Online (Sandbox Code Playgroud)
如你看到的 -d
只需确保test
未显示目录的内容。
如本答案中所示,要仅显示目录条目,您可以使用*/
. 在/
后*
确保只有目录将显示:
$ ls -d */
test/
Run Code Online (Sandbox Code Playgroud)
这类似于:
$ for i in *; do [[ -d $i ]] && echo "$i"; done
test
Run Code Online (Sandbox Code Playgroud)