ubuntu是大家最常用的的linux桌面發(fā)行版,所以它的各方面的生態(tài)也很全面,今天給大家分享我使用很久兩小工具figlet和toilet,這兩個工具可以幫助我們的界面可玩性多一些??梢詭臀覀円粋€酷炫的banner界面。
上面是我自己的一個終端log,每次打開一個新終端都會進(jìn)行打印輸出我的彩色名字拼音,接下來我就來給大家分享一下我的制作過程。
歡迎關(guān)注微信公眾號:羽林君,或者添加作者個人微信:become_me
figlet:
figlet是一種用C語言編寫的可以將普通終端文本轉(zhuǎn)換為大字母的命令。
使用figlet 工具可以將message 轉(zhuǎn)化為空心的字體, 一般用來制作程序啟動時的banner, 比如一些雷達(dá)包的啟動界面等,
sudo?apt?install?figlet
安裝好之后我們就可以進(jìn)行命令操作了,下面是figlet的常用的輸出參數(shù):
-f選擇字體。
-d選擇字體目錄。
-c使輸出文本居中。
-l將文本向左對齊。
-r將文本右對齊。
-w指定輸出大小。
-k啟用字距調(diào)整,分別創(chuàng)建每個字母,而不是與相鄰字母合并。
其中-f選擇字體為選擇字體,但是我們需要知道電腦里面支持的字體,使用showfigfonts
進(jìn)行查看。
使用showfigfonts
查看的不同字體輸出LiuYuNing這幾個詞
figlet?-f??standard?LiuYuNing
通過以上不同字體輸出,大家就可以自行去選擇自己喜歡的字體。
此外在ubuntu上,安裝figlet之后,大家也可以使用system函數(shù)執(zhí)行figlet命令,這樣你的函數(shù)執(zhí)行起來就可以看到空心log了。
#include<stdlib.h>
void?main()
{
?system("figlet?-f??slant??LiuYuNing");
?
}
python的話可以通過導(dǎo)入 os模塊,進(jìn)行system系統(tǒng)函數(shù)執(zhí)行
import?os
os.system("figlet?-f??slant??LiuYuNing")
除了這些,我參看網(wǎng)上其他博主的文章,分享一個Figlet時鐘例子,通過組合watch和date命令以標(biāo)準(zhǔn)字體輸出日期和時間,每秒更新一次打印。退出出的時候使用ctrl+c。
watch?-n1?"date?'+%D%n%T'|figlet?-k"
我們可以修改figlet各種命令選項來調(diào)整它以適合你自己的想法,但它有一個缺陷:它不能著色
為了輸出獲取彩色,就選擇了使用toilet命令。
toilet:
toilet 和 figlet 相似,支持彩色輸出。它具有HTML,SVG和TGA圖像以及ANSI等導(dǎo)出選項。
先安裝:
sudo?apt?install?toilet
toilet 支持兩種彩色格式:--gay 和 --metal
:
通過man toilet
命令,我們就可以看到輸出顏色的選項了,在下面圖片的中間,白色高亮顯示部分
和figlet一樣,我們安裝好toilet之后,我們也可以使用system進(jìn)行函數(shù)執(zhí)行。
#include<stdlib.h>
void?main()
{
?system("toilet??--gay?LiuYuNing");
?
}
這里也是參看網(wǎng)上其他博主的文章,分享一個toilet 彩色時鐘例子。
while?true;?do?echo?"$(date?'+%D?%T'?|?toilet?-f?term?-F?border?--gay)";?sleep?1;?done
這里我們得到了空心字體和彩色字體兩種輸出,接下來我們進(jìn)行組合輸出,達(dá)到終端每次開啟都輸出,我們定制好的彩色空心字符。
終端組合命令:
figlet?-f?big?LiuYuNing?|??toilet?-f?term??--gay
經(jīng)過一番的測試,我選擇了big字體,figlet輸出之后,再采用管道傳輸?shù)絫oilet執(zhí)行,實現(xiàn)我想要的效果,接下來就把這條命令,終端每次開啟都會執(zhí)行的腳本里面去實現(xiàn)我們的功能。
這里就不得不說.bashrc文件了。在linux里面,不管哪種 shell 都會有一個 .bashrc 的隱藏文件,它就相當(dāng)于 shell 的配置文件。
不同目錄下的 .bashrc 文件其作用不盡相同,比如:
- /etc/skel/.bashrc :文件將復(fù)制到系統(tǒng)上創(chuàng)建的任何新用戶的主文件夾中/home/lyn/.bashrc:是 bash 的配置文件,保存?zhèn)€人的一些個性化設(shè)置,如命令別名、路徑等
每次修改 .bashrc后,使用 source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加載修改后的設(shè)置,使之生效。
一般會在.bash_profile文件中顯式調(diào)用.bashrc。登陸 linux 啟動 bash時首先會去讀取 ~/.bash_profile文件,這樣 ~/.bashrc也就得到執(zhí)行了,你的個性化設(shè)置也就生效了。
利用這一特性,可以實現(xiàn)一些個性化設(shè)置,如:Linux 系統(tǒng)開機(jī)執(zhí)行自動某個腳本文件等,這在自動化操作方面可以給我們很多便利。
接下來我們vi ~/.bashrc
,再在里面最后面加上figlet -f big LiuYuNing | toilet -f term --gay
這條命令,每次打開終端我們就可以看到我們的banner執(zhí)行啟動這條命令。最終效果如下:
結(jié)語
這就是我使用figlet和toilet組合命令做終端的banner界面使用。如果大家有更好的想法和需求,也歡迎大家加我好友交流分享哈。
作者:良知猶存,白天努力工作,晚上原創(chuàng)公號號主。公眾號內(nèi)容除了技術(shù)還有些人生感悟,一個認(rèn)真輸出內(nèi)容的職場老司機(jī),也是一個技術(shù)之外豐富生活的人,攝影、音樂 and 籃球。關(guān)注我,與我一起同行。