Linux 乐趣 - 如何在终端中创建 ASCII 文本横幅
最近,我们解释了如何使用一个名为 ASCII-Art-Splash-Screen 的程序在 Linux 终端上随机显示预定义的 ASCII 艺术。在本文中,我们将展示如何使用名为 FIGlet 和 TOIlet 的两个命令行实用程序从纯文本创建您自己的吸引人的 ASCII 文本横幅。
另请阅读:在终端中享受乐趣的 20 个有趣的 Linux 命令
FIGlet 是一个简单的命令行实用程序,用于从普通文本中创建 ASCII 文本横幅或大字母,而 TOIlet (TOIlet 下的子命令) figlet)是一个命令行实用程序,用于从普通文本创建彩色大字符。
如何在 Linux 中安装和使用 Figlet 和 Bathroom 工具
要同时使用 FIGlet 和 TOIlet 工具,您首先需要使用默认包管理器将它们安装在 Linux 系统上,如图所示。
sudo apt install figlet toilet [On Debian/Ubuntu]
sudo yum install figlet toilet [On CentOS/RHEL]
sudo dnf install figlet toilet [On Fedora 22+]
安装后,使用 figlet 的基本方法是提供您想要转换为横幅或大文本的文本作为参数,如图所示。
figlet TecMint.com
_____ __ __ _ _
|_ _|__ ___| \/ (_)_ __ | |_ ___ ___ _ __ ___
| |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \
| | __/ (__| | | | | | | | |_ | (_| (_) | | | | | |
|_|\___|\___|_| |_|_|_| |_|\__(_)___\___/|_| |_| |_|
设置输出对齐方式
如果您希望在中心创建输出,请使用 -c
标志,如图所示。
figlet -c TecMint.com
_____ __ __ _ _
|_ _|__ ___| \/ (_)_ __ | |_ ___ ___ _ __ ___
| |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \
| | __/ (__| | | | | | | | |_ | (_| (_) | | | | | |
|_|\___|\___|_| |_|_|_| |_|\__(_)___\___/|_| |_| |_|
此外,还可以使用 -l
将输出设置为左侧,或使用 -r
将其打印到右侧。
定义输出宽度
您还可以使用-w
开关控制输出宽度,默认宽度为80列。
figlet -w 100 I Love TecMint.com
___ _ _____ __ __ _ _
|_ _| | | _____ _____ |_ _|__ ___| \/ (_)_ __ | |_ ___ ___ _ __ ___
| | | | / _ \ \ / / _ \ | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \
| | | |__| (_) \ V / __/ | | __/ (__| | | | | | | | |_ | (_| (_) | | | | | |
|___| |_____\___/ \_/ \___| |_|\___|\___|_| |_|_|_| |_|\__(_)___\___/|_| |_| |_|
如果您有更宽的终端,则可以通过 -t
开关使用终端的整个宽度。
figlet -t TecMint.com
在输出字符之间添加空格
为了获得更清晰的输出,您可以使用 -k
标志在打印字符之间添加一点空格:检查上面和下面输出之间的差异,如图所示。
figlet -t -k I Love TecMint.com
___ _ _____ __ __ _ _
|_ _| | | ___ __ __ ___ |_ _|___ ___ | \/ |(_) _ __ | |_ ___ ___ _ __ ___
| | | | / _ \\ \ / // _ \ | | / _ \ / __|| |\/| || || '_ \ | __| / __|/ _ \ | '_ ` _ \
| | | |___| (_) |\ V /| __/ | || __/| (__ | | | || || | | || |_ _| (__| (_) || | | | | |
|___| |_____|\___/ \_/ \___| |_| \___| \___||_| |_||_||_| |_| \__|(_)\___|\___/ |_| |_| |_|
从文件读取输入
您可以使用 -p
选项从文件中读取文本,而不是在命令行上键入文本,如图所示。
echo "I wish I could chmod 644 my Girlfriend" >girlfriend.txt
figlet -kp < girlfriend.txt
___ _ _ ___ _ _
|_ _| __ __(_) ___ | |__ |_ _| ___ ___ _ _ | | __| |
| | \ \ /\ / /| |/ __|| '_ \ | | / __|/ _ \ | | | || | / _` |
| | \ V V / | |\__ \| | | | | | | (__| (_) || |_| || || (_| |
|___| \_/\_/ |_||___/|_| |_| |___| \___|\___/ \__,_||_| \__,_|
_ _ __ _ _ _ _
___ | |__ _ __ ___ ___ __| | / /_ | || | | || |
/ __|| '_ \ | '_ ` _ \ / _ \ / _` | | '_ \ | || |_ | || |_
| (__ | | | || | | | | || (_) || (_| | | (_) ||__ _||__ _|
\___||_| |_||_| |_| |_| \___/ \__,_| \___/ |_| |_|
____ _ _ __ _ _
_ __ ___ _ _ / ___|(_) _ __ | | / _| _ __ (_) ___ _ __ __| |
| '_ ` _ \ | | | | | | _ | || '__|| || |_ | '__|| | / _ \| '_ \ / _` |
| | | | | || |_| | | |_| || || | | || _|| | | || __/| | | || (_| |
|_| |_| |_| \__, | \____||_||_| |_||_| |_| |_| \___||_| |_| \__,_|
更改输出字体
您可以使用-f
标志指定其他字体,字体是存储在/usr/中的.flf
或.tlf
文件分享/figlet。您可以像这样查看可用的字体。
ls /usr/share/figlet/
646-ca2.flc 646-es.flc 646-kr.flc 646-yu.flc 8859-9.flc
646-ca.flc 646-fr.flc 646-no2.flc 8859-2.flc ascii12.tlf
646-cn.flc 646-gb.flc 646-no.flc 8859-3.flc ascii9.tlf
646-cu.flc 646-hu.flc 646-pt2.flc 8859-4.flc banner.flf
646-de.flc 646-irv.flc 646-pt.flc 8859-5.flc bigascii12.tlf
646-dk.flc 646-it.flc 646-se2.flc 8859-7.flc bigascii9.tlf
646-es2.flc 646-jp.flc 646-se.flc 8859-8.flc big.flf
然后使用特定的字体,例如我使用字体 slant.tlf
如图所示。
figlet -f slant "Sudo I Love You"
_____ __ ____ __ __ __
/ ___/__ ______/ /___ / _/ / / ____ _ _____ \ \/ /___ __ __
\__ \/ / / / __ / __ \ / / / / / __ \ | / / _ \ \ / __ \/ / / /
___/ / /_/ / /_/ / /_/ / _/ / / /___/ /_/ / |/ / __/ / / /_/ / /_/ /
/____/\__,_/\__,_/\____/ /___/ /_____/\____/|___/\___/ /_/\____/\__,_/
使用 TOIlet 创建彩色 ASCII 文本横幅
toilet 命令还用于将文本转换为大的 ASCII 字符。最简单的运行方法如下。
toilet TecMint.com
mmmmmmm m m " m
# mmm mmm ## ## mmm m mm mm#mm mmm mmm mmmmm
# #" # #" " # ## # # #" # # #" " #" "# # # #
# #"""" # # "" # # # # # # # # # # #
# "#mm" "#mm" # # mm#mm # # "mm # "#mm" "#m#" # # #
要更改为特定字体,请使用 -f
选项,它还会从与 figlet 相同的源读取字体。
toilet -kf script TecMint.com
______ ,__ __
(_) | /| | | o
| _ __ | | | _ _ _|_ __ __ _ _ _
_ ||/ / | | | | / |/ | | / / \_/ |/ |/ |
(_/ |__/\___/| | |_/|_/ | |_/|_/o\___/\__/ | | |_/
我们在上面看到的figlet的许多选项也适用于toilet。有关更多信息,请参阅他们的手册页。
man figlet
man toilet
另请阅读:Neofetch – 显示带有发行版徽标的 Linux 系统信息
概括
在本文中,我们研究了两个用于将文本转换为大 ASCII 文本字符的命令行实用程序,这对于创建横幅或消息非常有用。通过下面的反馈表分享您对这些命令的想法。