今天给大家推出一个有趣的Linux命令行玩法。 你可能会问,命令行有什么有趣的地方,还能玩出什么花样。 其实我不太确定,但一般来说,它可能是一个游戏或任何简单的消遣,帮助你在终端玩得开心。
很可能大家之前看到我们介绍的在Linux终端中使用日历cal命令的教程,但今天介绍的希望给每个人有耳目一新的感觉。
为了在2018年的这个值得记忆的岁月里创建一个实际的日程表来庆祝,让我们今天使用命令行工具来做到这一点:cal。就其本身而言,单单就cal命令可能不是最令人惊奇的工具,但我们可以使用其他一些实用程序来增加它的功能。
很可能,cal已经安装在您的系统上了。要在这个实例中使用它,只需键入cal。
[558idc@localhost 558idc.com]$ cal
十二月 2018
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
我们不打算在使用高级用法。现在,让我们用一个漂亮的盒子来为它添彩,我将使用菱形框,并使用一点填充以使它很好地对齐。
[558idc@localhost 558idc.com]$ cal | boxes -d diamonds -p a1l4t2
/\ /\ /\ /\
/\//\\/\ /\//\\/\ /\//\\/\ /\//\\/\
/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/ \/\\//
\/ \/
/\ 十二月 2018 /\
//\\ 日 一 二 三 四 五 六 //\\
\\// 1 \\//
\/ 2 3 4 5 6 7 8 \/
/\ 9 10 11 12 13 14 15 /\
//\\ 16 17 18 19 20 21 22 //\\
\\// 23 24 25 26 27 28 29 \\//
\/ 30 31 \/
/\ /\
//\\/\ /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//
\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/
\/\\//\/ \/\\//\/ \/\\//\/ \/\\//\/
\/ \/ \/ \/
这看起来不错,但是为了好的方法,让我们把整个东西放在第二个盒子里,只是为了好玩。 这次我们将使用scoll设计。
[558idc@localhost 558idc.com]$ cal | boxes -d diamonds -p a1t2l3 | boxes -a c -d scroll
/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \
| /~~\ /~~\ |
|\ \ | /\ /\ /\ /\ | / /|
| \ /| /\//\\/\ /\//\\/\ /\//\\/\ /\//\\/\ |\ / |
| ~~ | /\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\ | ~~ |
| | //\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\ | |
| | \\//\/ \/\\// | |
| | \/ \/ | |
| | /\ 十二月 2018 /\ | |
| | //\\ 日 一 二 三 四 五 六 //\\ | |
| | \\// 1 \\// | |
| | \/ 2 3 4 5 6 7 8 \/ | |
| | /\ 9 10 11 12 13 14 15 /\ | |
| | //\\ 16 17 18 19 20 21 22 //\\ | |
| | \\// 23 24 25 26 27 28 29 \\// | |
| | \/ 30 31 \/ | |
| | /\ /\ | |
| | //\\/\ /\//\\ | |
| | \\///\\/\//\\\///\\/\//\\\///\\/\//\\\///\\/\//\\\// | |
| | \/\\///\\\//\/\\///\\\//\/\\///\\\//\/\\///\\\//\/ | |
| | \/\\//\/ \/\\//\/ \/\\//\/ \/\\//\/ | |
| | \/ \/ \/ \/ | |
| | | |
\ |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| /
\ / \ /
~~~ ~~~
[558idc@localhost 558idc.com]$
应该比较完美的。不过,现在我还想使事情变得更疯狂点。我喜欢我们的设计,但我想全力以赴。我还要给它着色。现在很多地方下雪了。所以,让我们享受下下雪的日子,然后用雪擦掉它。
对于雪,我抓取了一个漂亮的Bash和Gawk片段,我发现了CLIMagic的优点。如果您不熟悉CLIMagic,请查看他们的网站并在Twitter上关注他们。
[558idc@localhost 558idc.com]$ clear;cal|boxes -d diamonds -p a1t2l3|boxes -a c -d scroll|lolcat;sleep 3;while :;do echo $LINES $COLUMNS $(($RANDOM%$COLUMNS)) $(printf "\u2744\n");sleep 0.1;done|gawk '{a[$3]=0;for(x in a) {o=a[x];a[x]=a[x]+1;printf "\033[%s;%sH ",o,x;printf "\033[%s;%sH%s \033[0;0H",a[x],x,$4;}}'
我们开始吧。让我们清空屏幕,扔掉四四方方的日历,给它上色,等待几秒钟,然后用暴风雪把它吹走。 所有这一切都在终端发生。
为了顺利演示本文有趣的命令行,您需要所有引用的实用程序(box、lolcat、cal、gawk等),并且您将需要使用支持Unicode的终端模拟器。
如果你有一个你认为比本文还有趣还好玩的命令行? 请在下面的评论中告诉我,谢谢。