Большинство используют figlet один раз ради интереса и забывают. Те кто остаётся — находят применение в баннерах при входе на сервер, в скриптах деплоя где нужно выделить этап, в заголовках документации и в PS1. Разбираем от установки до нестандартных сценариев.
Установка
Debian / Ubuntu / Mint:
sudo apt install figlet
RHEL / CentOS / Rocky:
sudo yum install figlet
Fedora:
sudo dnf install figlet
Arch Linux:
sudo pacman -S figlet
Базовый вывод
Преобразовать строку в ASCII-арт:
figlet Hello
_ _ _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
| _ | __/ | | (_) |
|_| |_|\___|_|_|\___/
Несколько слов:
figlet "Linux VPS"
Текст из стандартного ввода — полезно в пайпах:
echo "DEPLOY" | figlet
Шрифты: figlet не ограничивается одним стилем
По умолчанию используется шрифт standard. Посмотреть список установленных шрифтов:
figlet -I2
Эта команда покажет директорию с шрифтами. Обычно /usr/share/figlet/ или /usr/share/figlet/fonts/.
Список всех файлов шрифтов:
ls /usr/share/figlet/*.flf
Выбрать конкретный шрифт флагом -f:
figlet -f slant "Production"
figlet -f banner "ALERT"
figlet -f big "v2.0"
Популярные шрифты которые есть почти везде: standard, big, banner, slant, shadow, block, digital, lean.
Скачать расширенный пак шрифтов (более 150 штук):
sudo apt install figlet-fonts
sudo apt install figlet-fonts-extra
Ключевые флаги
Центрировать текст по ширине терминала:
figlet -c "Centered"
Выровнять по правому краю:
figlet -r "Right"
Задать ширину принудительно — полезно когда вывод идёт в файл а не в терминал:
figlet -w 120 "Wide output"
Горизонтальная компоновка — буквы вплотную без пробелов:
figlet -k "Kerning"
Вертикальный режим — каждая буква снизу предыдущей:
figlet -t "Tall"
Практический сценарий 1: баннер при входе на сервер (MOTD)
/etc/motd — файл который показывается каждому пользователю при SSH-входе. Добавить туда красивый заголовок:
figlet -f slant "MyServer" | sudo tee /etc/motd
Или динамический MOTD через скрипт в /etc/update-motd.d/:
sudo nano /etc/update-motd.d/00-header
#!/bin/bash
figlet -f slant "$(hostname)"
echo ""
echo " Ubuntu $(lsb_release -rs) | $(date)"
Сделать исполняемым:
sudo chmod +x /etc/update-motd.d/00-header
Теперь каждый вход будет показывать имя хоста большими буквами.
Практический сценарий 2: выделить этап в скрипте деплоя
#!/bin/bash
figlet "BUILD"
npm run build
figlet "TEST"
npm test
figlet "DEPLOY"
rsync -av dist/ user@server:/var/www/html/
figlet "DONE"
В длинном логе деплоя этапы сразу видны без чтения каждой строки.
Практический сценарий 3: цветной ASCII-арт через lolcat
figlet выводит только символы — цвет добавляет lolcat:
sudo apt install lolcat
figlet "Rainbow" | lolcat
Радужная анимация:
figlet "LOADING" | lolcat -a -d 3
-a включает анимацию, -d 3 задаёт длительность.
toilet: figlet с поддержкой цвета и Unicode
toilet — альтернатива с расширенными возможностями. Поддерживает цветные фильтры без lolcat:
sudo apt install toilet
Цветной вывод встроенным фильтром:
toilet -f bigmono9 --filter border "Status: OK"
Рамка вокруг текста:
toilet -f standard -F border "WARNING"
Металлический эффект:
toilet --gay "Hello"
figlet в PS1: имя хоста в приглашении командной строки
Добавить в ~/.bashrc:
figlet -f small "$(hostname)"
Будет выводиться при каждом открытии нового терминала.
Шпаргалка
| Задача | Команда |
|---|---|
| Базовый вывод | figlet "текст" |
| Выбрать шрифт | figlet -f slant "текст" |
| Список шрифтов | ls /usr/share/figlet/*.flf |
| Центрировать | figlet -c "текст" |
| Задать ширину | figlet -w 120 "текст" |
| Из пайпа | echo "текст" | figlet |
| Баннер при SSH-входе | figlet "текст" | sudo tee /etc/motd |
| Цветной вывод | figlet "текст" | lolcat |
| Рамка вокруг текста | toilet -F border "текст" |
| Установить доп. шрифты | sudo apt install figlet-fonts-extra |