Создание эффектного текста в терминале с помощью FIGlet

LinuxBeginner
Практиковаться сейчас

Введение

FIGlet - это утилита для создания крупных символов из обычных экранных символов. Часто она используется в терминальных сеансах для создания привлекающего внимание текста, баннеров или заголовков. Этот проект поможет вам разобраться в процессе использования этой утилиты для генерации текста и настройки вывода с использованием различных шрифтов.

Пример текста FIGlet

Начало работы с FIGlet

FIGlet (File Input, Graphical Let) - это инструмент для терминала, который преобразует обычный текст в крупные ASCII-арт символы. Он особенно полезен для создания привлекающих внимание заголовков в скриптах терминала, журналах или просто для придания визуального эффекта вашим сеансам в терминале.

Установка и запуск FIGlet

В этой лабораторной среде FIGlet уже установлен для вас. Давайте убедимся, что он работает корректно:

  1. Откройте терминал, нажав на иконку терминала в доке или используя меню.

  2. Давайте создадим ваш первый текст с использованием FIGlet. Введите следующую команду и нажмите Enter:

figlet Hello World

Вы должны увидеть вывод, похожий на следующий:

 _   _      _ _        __        __         _     _
| | | | ___| | | ___   \ \      / /__  _ __| | __| |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |
|_| |_|\___|_|_|\___/     \_/\_/ \___/|_|  |_|\__,_|

Команда преобразовала простой текст "Hello World" в крупный ASCII-арт. Это базовая функциональность FIGlet.

  1. Попробуйте создать текст с вашим именем или коротким сообщением:
figlet Your Name

FIGlet работает путем преобразования каждого символа в вашем тексте в более крупное представление, состоящее из стандартных ASCII-символов. Это позволяет легко создавать визуально интересный текст, который выделяется в выводе терминала.

✨ Проверить решение и практиковаться

Работа с разными шрифтами FIGlet

FIGlet становится еще более интересным, когда вы исследуете его различные варианты шрифтов. Программа имеет множество встроенных шрифтов, которые полностью меняют внешний вид вашего текста.

Просмотр доступных шрифтов

  1. Чтобы увидеть все шрифты, доступные на вашей системе, выполните следующую команду:
showfigfonts

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

  1. Если вы хотите увидеть только имена шрифтов без примеров, вы можете использовать:
find /usr/share/figlet -name "*.flf" | sort

Эта команда перечисляет все файлы шрифтов FIGlet, доступные на вашей системе.

Использование разных шрифтов

  1. Чтобы использовать определенный шрифт, используйте опцию -f, за которой следует имя шрифта. Давайте попробуем шрифт "slant":
figlet -f slant Hello World

Вы должны увидеть вывод, похожий на следующий:

    __  __     ____         _       __           __    __
   / / / /__  / / /___     | |     / /___  _____/ /___/ /
  / /_/ / _ \/ / / __ \    | | /| / / __ \/ ___/ / __  /
 / __  /  __/ / / /_/ /    | |/ |/ / /_/ / /  / / /_/ /
/_/ /_/\___/_/_/\____/     |__/|__/\____/_/  /_/\__,_/
  1. Попробуйте еще несколько шрифтов, чтобы увидеть имеющийся выбор. Вот шрифт "big":
figlet -f big Hello

Вывод:

 _   _      _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
|  _  |  __/ | | (_) |
|_| |_|\___|_|_|\___/
  1. И вот шрифт "standard" (по умолчанию):
figlet -f standard Hello

Вывод:

 _   _      _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
|  _  |  __/ | | (_) |
|_| |_|\___|_|_|\___/

Шрифты FIGlet хранятся в виде файлов .flf в каталоге /usr/share/figlet. Каждый файл определяет, как рисовать каждый символ в этом стиле.

✨ Проверить решение и практиковаться

Настройка вывода FIGlet

FIGlet предоставляет несколько параметров для настройки внешнего вида текста, помимо простого изменения шрифтов. Давайте рассмотрим некоторые из этих параметров настройки.

Настройка ширины

  1. По умолчанию FIGlet использует столько места, сколько необходимо для вашего текста. Чтобы заставить FIGlet вписать текст в определенную ширину, используйте опцию -w, за которой следует количество столбцов:
figlet -w 50 "Narrow Text"

Вывод:

 _   _
| \ | | __ _ _ __ _ __ _____      __
|  \| |/ _` | '__| '__/ _ \ \ /\ / /
| |\  | (_| | |  | | | (_) \ V  V /
|_| \_|\__,_|_|  |_|  \___/ \_/\_/

 _____         _
|_   _|____  _| |_
  | |/ _ \ \/ / __|
  | |  __/>  <| |_
  |_|\___/_/\_\\__|

Эта команда гарантирует, что вывод вписывается в 50 столбцов.

  1. Попробуйте другую ширину:
figlet -w 80 "Wide Text Example"

Вывод:

__        ___     _        _____         _
\ \      / (_) __| | ___  |_   _|____  _| |_
 \ \ /\ / /| |/ _` |/ _ \   | |/ _ \ \/ / __|
  \ V  V / | | (_| |  __/   | |  __/>  <| |_
   \_/\_/  |_|\__,_|\___|   |_|\___/_/\_\\__|

 _____                           _
| ____|_  ____ _ _ __ ___  _ __ | | ___
|  _| \ \/ / _` | '_ ` _ \| '_ \| |/ _ \
| |___ >  < (_| | | | | | | |_) | |  __/
|_____/_/\_\__,_|_| |_| |_| .__/|_|\___|
                          |_|

Центрирование текста

  1. Чтобы центрировать вывод FIGlet в терминале, используйте опцию -c:
figlet -c "Centered Text"

Текст будет отображаться по центру ширины терминала.

  1. Вы можете комбинировать параметры. Попробуйте центрировать текст с использованием определенного шрифта:
figlet -c -f slant "Center Slant"

Вывод (по центру терминала):

             ______           __               _____ __            __
            / ____/__  ____  / /____  _____   / ___// /___ _____  / /_
           / /   / _ \/ __ \/ __/ _ \/ ___/   \__ \/ / __ `/ __ \/ __/
          / /___/  __/ / / / /_/  __/ /      ___/ / / /_/ / / / / /_
          \____/\___/_/ /_/\__/\___/_/      /____/_/\__,_/_/ /_/\__/

Другие параметры

  1. FIGlet также поддерживает направление текста. Попробуйте отображение справа налево:
figlet -R "Right to Left"

Вывод:

 _          __ _     _          ____  _       _     _
| |    ___ / _| |_  | |_ ___   |  _ \(_) __ _| |__ | |_
| |   / _ \ |_| __| | __/ _ \  | |_) | |/ _` | '_ \| __|
| |__|  __/  _| |_  | || (_) | |  _ <| | (_| | | | | |_
|_____\___|_|  \__|  \__\___/  |_| \_\_|\__, |_| |_|\__|
                                        |___/
  1. Попробуйте отображение слева направо (по умолчанию):
figlet -L "Left to Right"

FIGlet предоставляет разнообразные параметры настройки, которые можно комбинировать, чтобы создать именно тот внешний вид, который вам нужен. Эти параметры можно просмотреть, введя:

figlet -h

Вывод справки показывает все доступные параметры и способы их использования.

✨ Проверить решение и практиковаться

Создание персонализированного баннера терминала

Одно из самых распространенных применений FIGlet - создание пользовательских приветственных баннеров, которые отображаются каждый раз при открытии терминала. Это придает вашему терминалу индивидуальность и может включать полезную информацию или просто веселое приветствие.

Создание простого скрипта баннера

  1. Сначала создадим простой скрипт оболочки для отображения баннера. Откройте текстовый редактор для создания скрипта:
nano ~/banner.sh
  1. Добавьте следующее содержимое в файл:
#!/bin/bash
figlet -f slant "Welcome to Linux"
echo "Today is $(date)"
echo "----------------"
echo ""
  1. Сохраните файл, нажав Ctrl+O, затем Enter, и выйдите, нажав Ctrl+X.

  2. Сделайте скрипт исполняемым:

chmod +x ~/banner.sh
  1. Запустите скрипт, чтобы увидеть ваш баннер:
~/banner.sh

Вы должны увидеть что-то вроде этого:

 _       __     __                             __
| |     / /__  / /________  ____ ___  ___     / /_____
| | /| / / _ \/ / ___/ __ \/ __ `__ \/ _ \   / __/ __ \
| |/ |/ /  __/ / /__/ /_/ / / / / / /  __/  / /_/ /_/ /
|__/|__/\___/_/\___/\____/_/ /_/ /_/\___/   \__/\____/

    __    _
   / /   (_)___  __  ___  __
  / /   / / __ \/ / / / |/_/
 / /___/ / / / / /_/ />  <
/_____/_/_/ /_/\__,_/_/|_|

Today is Thu Mar  6 10:44:55 CST 2025
----------------

Добавление баннера в запуск оболочки

  1. Чтобы отображать этот баннер каждый раз при открытии нового терминала, вы можете добавить скрипт в файл запуска вашей оболочки. Поскольку вы используете ZSH, мы изменим файл .zshrc:
nano ~/.zshrc
  1. Добавьте следующую строку в конец файла:
~/banner.sh
  1. Сохраните и выйдите из редактора, нажав Ctrl+O, Enter и Ctrl+X.

  2. Чтобы протестировать это изменение без открытия нового терминала, вы можете выполнить файл .zshrc:

source ~/.zshrc

Ваш пользовательский баннер должен отобразиться сразу.

Дальнейшая настройка баннера

  1. Давайте сделаем ваш баннер более персонализированным. Отредактируйте скрипт баннера еще раз:
nano ~/banner.sh
  1. Измените его так, чтобы он включал ваше имя или пользовательское сообщение:
#!/bin/bash
figlet -f slant "Hello, $(whoami)!"
echo "Welcome to Linux - $(date +%A), $(date +%B) $(date +%d)"
echo "----------------"
echo "System: $(uname -s) $(uname -r)"
echo ""
  1. Сохраните и выйдите из редактора.

  2. Откройте новый терминал, и вы должны увидеть персонализированный баннер с вашим именем пользователя, текущей датой в более приятном формате и некоторой системной информацией.

Preview

Таким образом, каждый раз при открытии нового терминала вас будет приветствовать ваш пользовательский баннер. Не стесняйтесь дальнейшей настройки его с использованием цветов, более подробной системной информации или различных шрифтов FIGlet.

✨ Проверить решение и практиковаться

Резюме

В этом практическом занятии вы узнали, как использовать FIGlet для создания эффектного ASCII-арт текста для вашего терминала. Теперь вы знаете, как:

  • Генерировать крупный текст с помощью базовой команды FIGlet
  • Работать с различными шрифтами для изменения внешнего вида текста
  • Настраивать вывод, регулируя ширину и выравнивание текста
  • Создавать и применять персонализированный баннер терминала

FIGlet - это простой, но мощный инструмент для придания визуального интереса выводу терминала, скриптам оболочки, лог-файлам или любому текстовому интерфейсу. Навыки, которые вы приобрели, можно применить для того, чтобы сделать ваш опыт работы с терминалом более персонализированным и визуально привлекательным.

Для дальнейшего изучения вы можете рассмотреть связанные инструменты, такие как "toilet" (цветовая версия FIGlet) или "cowsay", чтобы получить еще больше удовольствия от работы с терминалом. Вы также можете создать свои собственные шрифты для FIGlet, если захотите проявить свою креативность.