Привет, хотел про рабочие будни, падших женщин и CodeFest рассказать, но это скучно. Как-нибудь в другой раз.
А сегодня рассмотрим интересную команду — compgen.
С помощью compgen можно вывести список всех консольных команд, которые вообще доступны в твоём Linux дистрибутиве.
Запускаем:
compgen -c
И наблюдаем. Да, это полный список команд, мне выплюнуло аж 3490. Поверь там ОЧЕНЬ много интересного.
Секрет успеха
Выгружаем все это в файл и каждый день изучаем по три-пять команд из этого списка
А через месяц ты настолько преисполнишься в своем сознании, что аж пиздец. Я на полном серьезе!
Кстати по аналогии, я каждый день читаю по 10-20 слов из словаря Ожегова. Отлично расширяет словарный запас. Рекомендую.
У compgen есть еще масса ключей, некоторые из них:
-a = выведет список алиасов
-b = список всех bash модулей
-k = вывод ключевых слов
-A function = вывод всех функций
Ладно, что еще можно с compgen сделать:
Генерация списков
files=( $(compgen -f) )
echo "${files[@]}"
На экран выведется список файлов в текущем каталоге.
Анализ окружения
variables=( $(compgen -v) )
echo "${variables[@]}"
Выведется весь список переменных окружения.
Генерация динамических списков
users=( $(compgen -u) )
echo "${users[@]}"
Скрипт динамически создаст список всех пользователей в Linux.
Еще есть прикол с автодополнением, но работает через жопу, поэтому нахер его. У нас тут только рабочая годнота.
Обычно compgen используется в скриптах или в интерактивном режиме для быстрого доступа к определенным типам данных, доступных в текущем контексте оболочки.
Ну и вот. Пойду дальше диван давить, изучай. Увидимся!