Ответы:
Если вы хотите легко отличать папки от файлов, используйте что-то вроде ls -alhF. Я обычно определяю lкак псевдоним для этого, т.е. Я положил линию alias l='ls -alhF'в моем .bashrc.
для перечисления только папок попробуйте: ls -d */
-dсписок самих каталогов, а не их содержимое. Чтобы объяснить это, рассмотрим, что произойдет, если мы введем
ls */.lsидет на один слой вниз, в каждый подкаталог, и перечисляет все файлы в каждом из них последовательно
Источник: man ls
*/*/известен как «глобус» в UNIX. (см. Википедию для более подробной информации). Но в основном это означает «любое имя файла, заканчивающееся косой чертой». В UNIX каталоги на самом деле являются просто файлами. Но они имеют специальное имя, оканчивающееся косой чертой, поэтому операционная система знает, что они являются каталогами (или папками, говоря на обычном языке). А звездочка *технически является подстановочным знаком, обозначающим «любая строка символов».
Этот абзац не будет относиться конкретно к вашему вопросу, но если вы никогда не читали об этом, было бы хорошо увидеть его. Глобусы отличаются от регулярных выражений, как (частично) объяснено в разделе «В чем разница между регулярными выражениями и глобализацией»? Были целые книги, написанные по регулярным выражениям, но есть множество разных способов кодирования выражений сопоставления с образцом.
Поскольку я очень неопытный пользователь, я люблю этот сайт. Он рассказывает вам все, что вы хотите знать о командах bash, в некоторых случаях он даже дает примеры. Очень полезный.
В твоем случае:
ls перечислить файлыls -a включить скрытые файлыls -l для длинного формата листингаls -al | grep ^d
включить скрытые файлы '-a' grep ^ d начать с 'd', что означает каталог, когда имя начинается с точки, каталог скрыт
перечислить рекурсивно увидеть это
find ./ -type d | less
./ ..................... means starts find in current folder
-type .................. indicates the type to be searched
d ...................... means directory
| ...................... redirects the command
less ................... enables paging using the keyboard arrows and leave with q
ls -1 -d */
где
-1
перечисляет один каталог в строке.
Для просмотра папок домашней директории lsдостаточно команды - это будет очень просто.
$ ls
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
Вы даже можете указать несколько каталогов ls ~ /usr
$ ls ~ /usr
/home/hadoop1:
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
/usr:
bin games include lib local locale sbin share src
Чтобы получить вывод в длинном формате, мы можем использовать -lопцию
$ ls -l
total 48
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Desktop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Documents
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Downloads
-rw-r--r-- 1 hadoop1 hadoop1 8980 Jul 1 2017 examples.desktop
drwxr-xr-x 10 hadoop1 hadoop1 4096 Jul 1 2017 hadoop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Music
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Pictures
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Public
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Templates
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Videos