本文將教你如何在 Linux 命令列終端中使用 boxes 工具繪製字元形狀圖形來包裝你的文字讓其更突出。
現在正值假期,每個 Linux 終端使用者都該得到一點禮物。無論你是慶祝聖誕節還是慶祝其他節日,或者什麼節日也沒有,都沒有關係。我將在接下來的幾周內介紹 24 個 Linux 命令列小玩具,供你把玩或者與朋友分享。讓我們享受樂趣,讓這個月過得快樂一點,因為對於北半球來說,這個月有點冷並且沉悶。
對於我要講述的內容,可能你之前就有些瞭解。但是,我還是希望我們都有機會學到一些新的東西(我做了一點研究,確保可以分享 24 個小玩具)。
24 個 Linux 終端小玩具中的第一個是叫做 boxes
的小程式。為何從 boxes
說起呢?因為在沒有它的情況下很難將所有其他命令禮物包裝起來!
在我的 Fedora 機器上,預設沒有安裝 boxes
程式,但它在我的普通倉庫中可以獲取到,所以用如下命令就可安裝:
1 |
$ sudo dnf install boxes -y |
如果你在使用其他 Linux 發行版,一般也都可以在預設倉庫中找到 boxes
。
boxes
是我真正希望在高中和大學計算機課程中就使用的實用程式,因為善意的老師要求我在每個原始檔、函式、程式碼塊等開頭新增一些特定外觀的備註資訊。
1 2 3 |
/***************/ /* Hello World */ /***************/ |
事實證明,一旦你需要在框內新增幾行文字,並且格式化的將它們統一風格就會變得很乏味。而 boxes
是一個簡單實用程式,它使用 ASCII 藝術風格的字元形狀框來包圍文字。其字元形狀預設風格是原始碼註釋風格,但也提供了一些其他選項。
它真的很容易使用。使用管道,便可以將一個簡短問候語塞進字元形狀盒子裡。
1 |
$ cat greeting.txt | boxes -d diamonds -a c |
上面的命令輸出結果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
/ / / ///\/ ///\/ ///\/ ///\///\///\///\///\///\/ //\///\///\///\///\///\///\ \/// /\// / / / I'm wishing you all a / //\ joyous holiday season //\ \// and a Happy Gnu Year! \// / / / / //\/ ///\ \///\///\///\///\///\///\// /\///\///\///\///\///\/// /\/// /\/// /\/// / / / |
或者玩點更有趣的,比如:
1 |
echo "I am a dog" | boxes -d dog -a c |
不要驚訝,它將會輸出如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
__ _,--="=--,_ __ / ." .-. "./ / ,/ _ : : _ /` `| /o :_: /o |__/ `-'| :="~` _ `~"=: | ` (_) `/ .-"-. | / .-"-. .---{ }--| /,.-'-., |--{ }---. ) (_)_)_) _/`~-===-~`_/ (_(_(_) ( ( I am a dog ) ) ( '---------------------------------------' |
boxes
程式提供了很多選項 用於填充、定位甚至處理正規表示式。你可以在其 專案主頁 上了解更多有關 boxes
的資訊,或者轉到 GitHub 去下載原始碼或者貢獻你自己的盒子形狀。說到此,如果你想給你的提交找個好點子,我已經有了一個想法:為什麼不能是一個節日禮物盒子?
1 2 3 4 5 6 7 8 9 |
_ _ /_/_ ________/_/_______ | ///\ | | /// \ | | | | "Happy pull | | request!" | |____________________| |
boxes
是基於 GPLv2 許可證的開源專案。
你有特別喜歡的命令列小玩具需要我介紹的嗎?這個系列要介紹的小玩具大部分已經落實,但還預留了幾個空位置。如果你有特別想了解的可以評論留言,我會檢視的。如果還有空位置,我會考慮介紹它的。即使要介紹的小玩具已經有 24 個了,但如果我得到了一些很好的意見,我會在最後做一些有價值的提及。
你可以通過 Drive a locomotive through your Linux terminal 來檢視明天會介紹的命令列小玩具。