Интересное наблюдение.
Заканчиваете ли Вы нас, l, ls, ll, ls-a, или ls-l, команда становится рекурсивным и если Вы, оказывается, пытаетесь разрешить ошибки ссылки, Вы тем, что прошли страницы ненужного дерьма в поисках Ваших фактических потребностей. Это особенно верно, если ссылка, которую Вы ищете, является (как в моем случае) папкой.
Я надеялся восстанавливать ссылку на python3.6, который обычно проникает через python3 (при нормальной установке). ll pyth* раньше перечислял просто все ссылки, которые получают настройки, и я мог просмотреть список и восстановление по мере необходимости. Однако прямо сейчас это перечисляет
python3:
... dist-пакеты
python3.6
.
..
весь список python3.6
и т.д...
и ни в том, ни в другом случае делает это, даже ссылаются на ссылки.
Новая установка 18,10, какие-либо мысли??
Вывод, который Вы получаете, - то, потому что Вы используете сопоставление с образцом оболочки (globbing) pyth*
и выполнение ls
команда на каждом элементе производится шариком.
Оболочка возвращается python3
и python3.6
каталоги сначала наряду с любыми другими соответствиями. Они используются в качестве аргументов ls
таким образом, Ваша команда заканчивается как
ls python3 python3.6 ...
Вывод этого показывает детализацию этого, Вы не интересуетесь. Обратите внимание, что это не действительно рекурсивно как иначе, Вы будете видеть содержание подкаталогов.
Существует несколько путей вокруг этого, как @steeldriver упомянуты в использовании комментариев -d
или --directory
только даст имена каталогов вместо содержания:
ls -d pyth*
Кроме того, можно использовать find
использование команды -maxdepth 1
гарантировать его не убывает в подкаталоги. Отметьте -name
аргумент заключается в кавычки так, чтобы он был расширен find
а не оболочкой.
find . -maxdepth 1 -name 'pyth*'
Часто лучше использовать find
чем ls
если Вы собираетесь полагаться на вывод команды для последующей обработки как ls
может дать неожиданные результаты при некоторых обстоятельствах.