Выбранный ответ объясняет это вполне исчерпывающе, но необходимо было бы смотреть целый документальный фильм для знания всех подробностей между разработкой начальной буквы UNIX, и как Linux вышел.
Сначала необходимо полагать, что Linux является ядром, которое было сделано linus и другими программистами. Он принял решение выпустить его с GPL, который к этому времени был лицензией, сделанной FSF, (RMS и другие люди), кто также разрабатывал их собственное ядро и GNU.
Что мы обычно называем, Linux является, сначала, ядром, плюс все другие инструменты, первоначально прибывающие из проекта GNU. Тот проект двух исторически отличается, потому что в то время, от ядра от людей FSF отказались для одобрения ядра Linux, которое было намного лучше.
Я помню, что существует документальный фильм, необходимо действительно наблюдать его, я нахожу это важным для культуры программирования.
Другой вещью, которую необходимо рассмотреть при размышлении о "*nix", является также everying вовлечение POSIX и другого стандартизированного архитектурой материала. Это - предмет дизайна/исследования ОС, но это определяет точно, как включенные работы Ose, и крайне важны, когда у Вас есть ядро, работающее хорошо с его инструментами.
Я знаю, что уже существует выбранный ответ, но можно получить требуемое поведение только с ls
:
ls -ld -- */
(Обратите внимание, что '-' отмечает конец параметров, предотвращая имена папок, начинающиеся с дефиса от того, чтобы быть интерпретируемым как дальнейшие опции команды.)
Это перечислит все нескрытое (если Вы не настроите шарики своей оболочки для расширения их), каталоги в текущем рабочем каталоге, куда он выполняется (обратите внимание, что он также включает символьные ссылки на каталоги). Для получения всех подкаталогов некоторой другой папки просто попробуйте:
ls -ld /path/to/directory/*/
Обратите внимание, что-l является дополнительным.
Нет, но простое find
команда сделает это:
find . -type d -depth 1
или grep
ls -F | grep /
Вы могли затем исказить любой при необходимости.
-maxdepth 1
. Также find
требуемый меня для инвертирования порядка: find . -maxdepth 1 -type d
– Brad Cupit
28.08.2015, 17:33
ls -F | grep /
решение творит чудеса! Это, кажется, единственное, которое я могу взяться за работу над своей машиной FreeBSD. Я думаю с помощью средств Рыбы что что-либо с */
может не работать?
– cjm
27.07.2016, 07:38
Мне нравится, когда древовидная утилита получает обзор по структуре каталогов. Это доступно в MacPorts и всех дистрибутивах Linux, которые я попробовал.
tree -d -L 2
Это показало бы все каталоги, два уровня глубоко.
Я думаю, что ls имеет ошибку на Mac OS X. Обходное решение должно использовать grep... ls -l / | grep "^d"
grep "^d"
взлом
– Michael Mrozek♦
06.09.2010, 05:10
ls -l /home
и ls -dl /home
– Steven D
06.09.2010, 05:11
ls -l / | grep ^d
. Если Вы собираетесь использовать кавычки, так как Вам не нужно расширение параметра, сделайте их одинарными кавычками. ls -l / | grep '^d'
. Да, я - педант. Но действительно, сделайте это. :)
– Wildcard
01.11.2016, 03:08
Я также должен был просмотреть скрытые каталоги, так изменили предложение выше для установки моим потребностям
ls -d -- */ .*/
(в зависимости от оболочки, которая может также включать .
и ..
)
$ ls -p | grep /
Флаг -p
заставит ls
добавить косую черту (`/ ') после каждого имени файла, если это файл - это каталог.
Самый простой способ — ввести следующую команду. Это работает на большинстве платформ и версий UNIX и Linux. Вы можете пропустить -F
, если хотите, но это аргумент, который добавляет / в конец имени каталога. Аргумент -C
захватывает только имена каталогов -все они в текущем каталоге. Если вы хотите видеть только каталоги и подкаталоги в текущем пути, просто добавьте аргумент -R
(ls -CFR
).
# ls -CF
/dir1 /dir2 /dir3 /beaches /Work /Other
Посколькуzsh
(находится по умолчанию в macOS, раньше там даже было /bin/sh
), вы должны использовать квалификаторы glob для выбора файлов на основе их типа:
Список не -скрытых каталогов:
ls -d -- *(/)
Список всех каталогов:
ls -d -- *(D/)
(.
и ..
всегда исключаются, добавьте их по отдельности, если хотите)
Также включать символические ссылки на каталоги:
ls -d -- *(D-/)
(-
заставляет применять дополнительные квалификаторы после разрешения символической ссылки ).
Существует не только одна опция для вывода каталогов...
Но вы можете использовать-d
(список самих каталогов, а не их содержимое )и */
для сопоставления самих каталогов:
ls -d */
И попробуйте использовать точку для скрытых, ls -d.*/
.
Просто для удовольствия попробуйте:ls -d
и ls */
. Различия будут очевидны!
Ссылка:
Используйте команду ls следующим образом
❯ ls -1d plugins/*/
plugins/localizable/
plugins/redmine_agile/
plugins/redmine_gitlab_hook/
plugins/redmine_mermaid_macro/
plugins/redmine_open_links_in_new_window/
/
на конце - но теперь, когда я вижу, Вы ответить это имеет смысл. В конце концов, заполнение клавишей Tab всегда добавляет его. – gvkv 06.09.2010, 06:46-d for dir, -l for long format
. из чего цель--
? – Dineshkumar 17.04.2015, 18:03find
на самом деле хороший выбор в этом случае. Пробелы – biocyberman 31.01.2017, 22:59find
также имеет преимущество, когда количество каталогов превышает длину аргумента maximum. – Steven D 01.02.2017, 11:31ls -alhF --ignore=*.*
. Не уверенный, как хорошо это обработало бы 'скрытые' папки, т.е..myHiddenFolder
– Timmah 01.11.2017, 02:46