Ubuntu 14.04 LTS 直连机器,没有双启动或任何东西。
我只想要~/scratch
一个目录列表。
tree -dL 1
知道了!
man ls
说:
-d List directories only instead of their contents.
info ls
说:
-d List just the names of directories...
显然,这并没有按照我所要求的那样做。我不明白什么?
答案1
ls -d
将列出目录条目但不列出其内容,它不用于仅显示目录内的目录条目。
举个例子你就会明白:
$ tree
.
├── egg
├── spam
└── test
├── new
└── old
$ ls *
egg spam
test:
new old
$ ls -d *
egg spam test
正如您所见,-d
只是确保目录的内容test
不会被显示。
正如已经显示的这个答案,若要仅显示目录条目,可以使用*/
。/
后面的命令*
确保仅显示目录:
$ ls -d */
test/
这类似于:
$ for i in *; do [[ -d $i ]] && echo "$i"; done
test
答案2
尝试一下这个: ls -d */
它将列出当前目录中的目录