Linux 终端艺术字神器:figlet 命令超详细教程

📅 2026/7/23 6:59:31 👁️ 阅读次数 📝 编程学习
Linux 终端艺术字神器:figlet 命令超详细教程

一、命令简介

figlet 是一个用于将普通文本字符串转换为由 ASCII 字符组成的艺术字(即 “字画符” 或 “ASCII 艺术字”)的命令行工具。它通过简单的字符拼接,生成具有视觉吸引力的横幅式文本,常用于终端装饰、脚本输出美化或生成简单的文本标志。

二、语法格式

plaintext

figlet [选项]... [消息]

或通过标准输入传递消息:

plaintext

[命令] | figlet [选项]...

说明:

  • 消息:要转换为字画符的文本字符串。如果未提供消息参数,figlet 将从标准输入读取数据。
  • 选项:用于控制输出格式、字体、对齐等行为的参数。

三、常用选项及说明

表格

选项说明
-f <字体文件>指定使用的字体。默认字体为 standard。可通过 figlet -l 查看系统可用的字体列表。
-w <宽度>设置输出行的最大宽度(字符数)。默认值为 80。如果文本超过此宽度,将自动换行。
-c将输出居中显示(基于 -w 设置的宽度或终端宽度)。
-t将输出宽度设置为当前终端的宽度。此选项优先级高于 -w。
-k启用字距调整(kerning),即保留字符之间的空隙,使输出看起来更紧凑。默认情况下字符是紧密连接的。
-l列出系统上所有可用的字体名称。
-r从右向左显示文本(某些字体支持此特性)。
-x启用默认的翻转(镜像)模式(某些字体支持)。
-v显示 figlet 的版本信息并退出。
-h 或 --help显示帮助信息。

字体说明:

  • 字体文件通常位于 /usr/share/figlet/ 或类似目录中。
  • 常用内置字体包括:standard(默认)、slant、block、banner、script 等。

四、示例用法

4.1 基本转换

将字符串直接转换为默认字体的字画符:

plaintext

figlet "Hello World"

输出示例:

plaintext

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

4.2 通过管道输入

与其他命令结合使用:

plaintext

echo "Linux" | figlet

plaintext

date | figlet

4.3 指定字体

使用 slant 字体:

plaintext

figlet -f slant "Welcome"

4.4 控制输出宽度与居中

限制宽度为 40 字符并居中显示:

plaintext

figlet -w 40 -c "Centered Text"

4.5 使用终端宽度并居中

自动适应终端宽度并居中:

plaintext

figlet -t -c "Full Width"

4.6 保留字符间距

启用字距调整:

plaintext

figlet -k "Spaced Out"

4.7 列出可用字体

查看所有已安装的字体:

plaintext

figlet -l

4.8 组合使用

综合多个选项:

plaintext

figlet -f block -w 50 -c -k "Fancy Title"

五、注意事项

  • 字体依赖:输出的效果高度依赖于所选字体。某些字体可能对非 ASCII 字符(如中文)支持有限或显示异常。
  • 终端兼容性:输出可能因终端仿真器、字体设置和编码不同而略有差异。建议在目标环境中测试。
  • 换行处理:当文本超过指定宽度时,figlet 会按单词边界进行换行。过长的单词可能会被强制断开。
  • 特殊字符:输入中的反斜杠 \、引号等字符可能需要转义,具体取决于 shell 环境。
  • 性能:处理非常长的文本或在循环中频繁调用时,可能会产生可察觉的性能开销。
  • 安装:如果系统中未安装 figlet,请使用包管理器(如 apt、yum 或 dnf)进行安装。在某些发行版中,字体包可能是独立的(如 figlet-fonts)。
  • 返回值:命令执行成功通常返回退出码 0。如果出现错误(如字体文件未找到),则返回非零值。