使用 FIGlet 打造引人注目的终端文本

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

FIGlet 是一个利用普通屏幕字符创建大字符的实用工具。它常用于终端会话,以创建引人注目的文本、横幅或标题。本项目将指导你使用它生成文本,并使用不同字体自定义输出。

FIGlet 文本示例

开始使用 FIGlet

FIGlet(File Input, Graphical Let)是一个基于终端的工具,它可以将普通文本转换为大型 ASCII 艺术字符。在终端脚本、日志文件中创建引人注目的标题,或者只是为你的终端会话增添一些视觉效果时,它特别有用。

安装和运行 FIGlet

在这个实验环境中,FIGlet 已经为你安装好了。让我们验证一下它是否能正常工作:

  1. 通过点击 Dock 中的终端图标或使用菜单来打开终端。

  2. 让我们来创建你的第一个 FIGlet 文本。输入以下命令并按回车键:

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. 首先,让我们创建一个简单的 shell 脚本以显示横幅。打开文本编辑器来创建脚本:
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
----------------

将横幅添加到 shell 启动项

  1. 若要在每次打开新终端时显示此横幅,你可以将脚本添加到 shell 的启动文件中。由于你使用的是 ZSH,我们将修改 .zshrc 文件:
nano ~/.zshrc
  1. 在文件末尾添加以下行:
~/banner.sh
  1. Ctrl+OEnter 保存并退出编辑器,再按 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. 打开一个新终端,你应该会看到一个个性化的横幅,其中包含你的用户名、格式更美观的当前日期以及一些系统信息。

预览

这样,每次打开新终端时,你都会看到自定义横幅。你可以随意使用颜色、更多系统信息或不同的 FIGlet 字体进一步自定义它。

总结

在本次实验中,你学习了如何使用 FIGlet 为终端创建引人注目的 ASCII 艺术字。现在你已经掌握了以下技能:

  • 使用基本的 FIGlet 命令生成大字体文本
  • 使用不同的字体来改变文本外观
  • 通过调整宽度和文本对齐方式来定制输出
  • 创建并实现个性化的终端横幅

FIGlet 是一个简单而强大的工具,可用于为终端输出、shell 脚本、日志文件或任何基于文本的界面增添视觉吸引力。你所学的技能可以让你的终端使用体验更具个性化和视觉吸引力。

如果你想进一步探索,可以了解相关工具,如 “toilet”(FIGlet 的彩色版本)或 “cowsay”,以获得更多的终端乐趣。如果你想发挥创意,还可以创建自己的 FIGlet 字体。