ls-d не делающий, что мне говорят это, должен

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
задан 31 October 2015 в 12:08

2 ответа

Попробуйте это вместо этого: ls -d */ это перечислит каталоги в текущем каталоге

3
ответ дан 3 December 2019 в 06:31

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
3
ответ дан 3 December 2019 в 06:31

Другие вопросы по тегам:

Похожие вопросы: