Про шлюх и CodeFest

Привет, хотел про рабочие будни, падших женщин и CodeFest рассказать, но это скучно. Как-нибудь в другой раз.

А сегодня рассмотрим интересную команду — compgen.

С помощью compgen можно вывести список всех консольных команд, которые вообще доступны в твоём Linux-дистрибутиве.

Запускаем:

compgen -c

И наблюдаем. Да, это полный список команд, мне выплюнуло аж 3490. Поверь, там ОЧЕНЬ много интересного.

Секрет успеха

Выгружаем всё это в файл и каждый день изучаем по три-пять команд из этого списка.

А через месяц ты настолько преисполнишься в своём сознании, что аж пиздец. Я на полном серьёзе!

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Кстати, по аналогии я каждый день читаю по 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.

Ещё есть прикол с автодополнением, но работает через жопу, поэтому нахер его. У нас тут только рабочая годнота.

Ну и вот. Пойду дальше диван давить, изучай. Увидимся!