linux系统中的sl命令 以及其他好玩的东西

今天在上班的时候突然想到了小火车sl命令,于是就百度了一下,得到命令:

$sl-h

自己试了一下,interesting!!!

还找到了另一个命令:linuxlogo

$linuxlogo -L ubuntu    与   $linuxlogo  显示了两幅不同的画面,感觉挺有意思的。

好奇心试了一下  $linuxlogo -L ubun 显示了另外一幅。

于是简单百度了一下,发现了各类彩蛋

$cmatrix 让终端显示和黑客帝国一样的滚动的文字

ahhhh~

其它的还有很多,感兴趣的点下面的三个链接去看吧。

推荐:https://www.jianshu.com/p/dd24e4227deb

https://blog.csdn.net/zhongbeida_xue/article/details/78820731

https://www.cnblogs.com/sukai/archive/2013/06/08/3127031.html

 

 

 

某天突然想知道sl的全部参数,于是下了源码来看,下载命令: sudo apt-get source sl

会在当前目录下生成四个文件:

打开sl.c 命令:  vi    sl-3.03/sl.c

linux系统中的sl命令 以及其他好玩的东西_第1张图片

可以很清楚的看见有四个case加一个default,一共5个选项,是不同变量的赋值,那么这些选项是可以叠加在一起的,

比如 sl -aFle     效果如下:

linux系统中的sl命令 以及其他好玩的东西_第2张图片

想到了上面的 sl-h 命令,猜测也是在sl.c中判断实现的,但是没有找到argv[0],这个选项,于是使用tab键看了一下带sl的命令

发现居然是一个单独的命令,就是在sudo apt-get install sl 的时候,安装了两个命令,即 sl 和 sl-h

在源码目录我又看见sl-h.c

同样的在里面也存在上面sl的四个参数

linux系统中的sl命令 以及其他好玩的东西_第3张图片

试了一下 sl-h -l   效果如下

linux系统中的sl命令 以及其他好玩的东西_第4张图片

在sl-3.03/debian/README 写道:old joke program &&  made by "make".

1 ===========================================
2  SL: Type cure software
3     Copyright 1993,1998 Toyoda Masashi                                                                             
4         ([email protected])                                                                                      
5 ===========================================                                                                           
6                                                                                                                       
7 Sl is gradeup version of old joke program.                                                                            
8 This is borrowed idea, but program is my original.                                                                    
9 You can use option a,l,F. Check these future by execute!                                                             
10 This software is made by "make".

于是在sl-3.03下执行make

报了fatal error: curses.h: No such file or directory错误;

解决命令:sudo apt-get install libncurses5-dev

再次make   报错如下

linux系统中的sl命令 以及其他好玩的东西_第5张图片

解决方案:链接

修改Makefile文件如下:

#==========================================
#    Makefile: makefile for sl
#	Copyright 1993,1998 Toyoda Masashi 
#		([email protected])
#	Last Modified: 1998/ 7/22
#       Modify for Debian by Hiroyuki Yamamoto 
#         2008/12/27
#==========================================

all: sl sl-h

sl: sl.c sl.h
	$(CC) $(CFLAGS) -o sl sl.c $(LDFLAGS) -lcurses

sl-h: sl-h.c sl-h.h header.h
	$(CC) $(CFLAGS) -o sl-h sl-h.c $(LDFLAGS) -lcurses

clean::
	rm -f sl sl-h

distclean:: clean

再次make 即可生成bin文件,直接执行 ./sl   或者 ./sl-h  即可

发现./sl 不能被 Ctrl + C 杀掉,想来是代码中忽略了这个信号吧。看了一下在vi   sl.c +75

linux系统中的sl命令 以及其他好玩的东西_第6张图片

 

你可能感兴趣的:(一时兴起)