Как вывести список папок из терминала, какую команду мне использовать?
Если вы хотите легко отличать папки от файлов, используйте что-то вроде ls -alhF
. Я обычно определяю l
как псевдоним для этого, т.е. Я поставил строку alias l='ls -alhF'
в моем .bashrc
.
Поскольку я очень неопытный пользователь, я люблю этот веб-сайт. Он рассказывает вам все, что вы хотите знать о командах 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
перечислит файлы.
ls -l
перечислит файлы с подробной информацией (например, размер файла).
ls -1 -d */
где
-1
перечисляет один каталог в строке.
для просмотра списка только папок попробуйте: ls -d */
-d
список каталогов, а не их содержимое. Чтобы объяснить это, рассмотрим, что произойдет, если мы введем
blockquote>ls */
.ls
идет на один уровень вниз в каждый подкаталог и перечисляет все файлы в каждом из этих последовательноИсточник:
man ls
sup>
*/
*/
известен как «глоб» в UNIX. (см. Wikipedia для более подробной информации). Но в основном это означает «любое имя файла, заканчивающееся косой чертой». В UNIX, каталоги - это, по сути, просто файлы. Но они имеют специальное имя, оканчивающееся косой чертой, поэтому операционная система знает, что они являются каталогами (или папками, говоря на обычном языке). А звездочка*
технически является подстановочным знаком, обозначающим «любая строка символов».Что такое глобус?
Этот параграф не относится конкретно к вашему вопрос, но если вы никогда не читали об этом, было бы хорошо увидеть это. Глобусы отличаются от Регулярных выражений, как (частично) объяснено в В чем разница между Регулярными выражениями и Глобингом? Были целые книги, написанные по регулярным выражениям, но у tl; dr есть куча разных способов. для кодирования выражений сопоставления с образцом.
Для просмотра папок домашнего каталога достаточно команды 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