Linux命令行之逗趣无极限

. Linux"sl"命令行

尽管"sl"代表了"蒸汽机机头",但它是用来提醒那些命令行控们别把"ls"打成了"sl"。让我们看看在系统中运行这个命令的时候会怎样。

首先,我们安装的时候,要将其设置为不与标准Linux一起出现。用"apt-get"可以很方便地完成安装。

sudo apt-get install sl

大部分的安装需要sudo特权。完成安装后,在命令提示行中输入"sl"。

$sl

我们看到了动画蒸汽机机头从屏幕右边开往左边。这个火车头是用ASCLL字符绘制。

下面是我机器上的效果图:

这难道比我们平时操作Linux 命令行要难吗?我认为沉浸在工作中的Linux用户看到这幅意料之外的动画时,肯定会心一笑,并意识到自己的输入有误。

即便是这种简单的命令行也可以提供特定选项。

SYNOPSIS
sl [ -alFe ]
DESCRIPTION
sl Displays animations aimed to correct users who accidentally enter sl instead of ls.  SL stands for Steam Locomotive.
OPTIONS
-a  An accident seems to happen. You'll feel pity for people who cry for help.
-l  shows little one.
-F  It flies.
-e  Allow interrupt by Ctrl+C.

还可以用  $alia ls=sl  给人弄个恶作剧。

. Linux "yes" 命令

这里是一个在进程结束前一直打印输入字符串的命令。万一,用户不指定任何输入字符串,默认命令是"y"。

命令会这样运行:

$yes mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
mylinuxbook
^C$

用"ctrl+c"结束前台运行进程。

很奇怪,是吗?为什么我们希望命令在进程中一直打印字符串呢?尽管这样运行的方式很傻,但却不一定没用。我们可以用特定脚本中的"yes"命令,在这些脚本中,我们可以用重复操作作答。例如,我们可以在一组文件上进行操作,而Linux会要求我们对文件进行确认。我们可以用"yes"命令自动回复。

. Linux"rev"命令

尽管非常简单,但我发现这行命令其实非常有意思。它会一行接一行地颠倒所输入的字符串。"rev"命令的名称来源于英文reverse。可以在命令指示符中输入"rev"然后按回车

$rev

终端会提示我们通过标准输入提供一个字符串。那么在每行后面我们就可以同时看到输出。

比如,我们输入"mylinuxbook"然后按回车。

mylinuxbook
koobxunilym

为了回到命令提示符,可以使用"ctrl+c"。

我们看到颠倒的字符串直接出现在了下一行。然后,我们可以输入下一个希望出现颠倒效果的字符串,接着按回车,就可以得到标准输出了。

$ rev
google
elgoog
linux is fun
nuf si xunil
^C$

这行命令也可以以文件的形式输入,它会颠倒文件中的所有字符串,然后把输出结果打成标准输出。

$ cat strings.txt
MyLinuxBook
Linux is so much fun!
Happy Birthday
$ rev strings.txt
kooBxuniLyM
!nuf hcum os si xuniL
yadhtriB yppaH

. Linux"fortune" 命令

Fortune命令是在相同命令行中作为fortune cookies。我们运行这个命令的时候随机找了一条谚语或信息。

首先要对其进行安装,

$sudo apt-get install fortune

安装完成后,我们运行这个命令的方式就是:

$ fortune
You have the power to influence all with whom you come in contact.

所以,依靠这个命令,Linux可以像个算命师一样。

. Linux"figlet"命令

这个命令会用大写方式把我们输入的字符串显示在标题栏,显示效果由ASCII字符组成。

由于它不是标准设置,所以要先安装这一功能。

$sudo apt-get install figlet

看到字符串在终端上变成这样确实很有意思。

$ figlet mylinuxbook

你可以试着用"figlet"在脚本标头或源代码中添加标题栏。

. Linux "toilet"命令

我不知道这个命令的名字源自哪里。但是它确实个五颜六色的命令。与figlet一样,它会把文本显示称标题栏,但是效果更好。

首先,安装:

$sudo apt-get install toilet

然后试一试这个简单的命令:

$toilet mylinuxbook

输入效果如下图所示:

它比figlet命令的效果更有艺术感。

不过,它还可以添加颜色。我们可以运行下列命令看到颜色:

$toilet -f mono12 -F metal mylinuxbook

效果如下图:

. Linux "cowsay"命令

Cowsay命令是一个有趣的命令。它会用ASCII字符描绘牛,羊和许多其他动物。但是不是每个Linux发行版都带有这个命令。

使用下面的命令安装此命令:

$sudo apt-get install cowsay

现在,运行命令,并在命令中给出一个信息字符串。

$cowsay "Linux is fun"

我们看到了一个有趣的图像:

基本上,我们会看到一头牛告诉我们所输入的信息。尽管这个命令中只出现了cow,但其实它还可以有羊的效果。

$cowsay -f sheep "I too love linux"

效果如图:

只需用 '-l 就能看到它能提供的所有动物。输入:

$cowsay -l

系统会弹出下列信息:

Cow files in /usr/cowsay/cows:
apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default
dragon dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu head-in hellokitty kiss kitty koala kosh luke-koala
mech-and-cow meow milk moofasa moose mutilated pony pony-smaller ren sheep
skeleton snowman sodomized-sheep stegosaurus stimpy suse three-eyes turkey
turtle tux unipony unipony-smaller vader vader-koala www

因此,我们可以用 '-f' 输入以上信息中的任何动物。

为了使之更有趣,你可以让cowsay说出fortune信息,如输入:

$fortune | cowsay

则出现下面的效果:

. Linux "cmatrix"命令

这个命令会在终端生成ASCII字符组成的矩阵风格的动画效果。

先安装:

$sudo apt-get install cmatrix

现在运行:

cmatrix

出来的效果很酷:

用"ctrl+c" 结束,生成动画。

. Linux "oneko" 命令

这个命令是最好玩的。我们都知道"猫和老鼠"的动画,这个命令会让我们想起他们的追逐游戏。有了这行命令,我们可以看到一只猫在追老鼠(鼠标指示器)的效果。

先安装:

$sudo apt-get install oneko

运行这个命令,我们输入:

oneko

然后你就可以看到不管鼠标指示器放到哪里,Tom猫都会追着跑。下面是截图,不过不足以显示动态的效果:

即便我们切换应用,猫也不会离开老鼠。它甚至没有局限于终端。

想关掉这个的时候,只需在终端里用ctrl+c 结束进程即可。

Linux命令行之逗趣无极限的更多相关文章

  1. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  2. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  3. linux 命令行 光标移动技巧

    linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...

  4. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  5. git代理,windows命令行代理,linux命令行代理

    下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...

  6. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  7. Linux命令行修改IP、网关、DNS、主机名 的方法

    修改主机名:[改里面的 HOSTNAME 即可] vim /etc/sysconfig/network 网卡eth0    IP修改为 102.168.0.1 ifconfig eth0 102.16 ...

  8. Linux命令行与命令

    Linux命令行与命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...

  9. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

随机推荐

  1. 安装开源项目 MultiType (基于 RecyclerView)出现的各种问题 -- 自己的第一篇博客

    一.引入开源项目的方式 使用开源项目 MultiType 的两种方式: 1.maven引入:在主Module 的 build.gradle 中加入 dependencies { ...... comp ...

  2. bzoj1689 [Usaco2005 Open] Muddy roads 泥泞的路

    Description Farmer John has a problem: the dirt road from his farm to town has suffered in the recen ...

  3. vector迭代器失效的一种情形

    使用过STL的人都应该知道关于迭代器失效的原理,这里以后vector迭代器失效为例: 第一种:当插入一个元素到vector中,如果插入后容器已满,那么容器将新开辟一块内存区域,然后 将原内存中的数据拷 ...

  4. 设计模式入门之职责链模式Chain Of Responsibility

    //职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. //实例:申请费用的功能,不同金额的费 ...

  5. 【特殊的图+DP】【11月校赛】大家一起玩游戏

    大家一起玩游戏 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

  6. HTML5新增的主体元素和新增的非主体结构元素

    HTML5新增的主体元素 article元素 article元素表示文档.页面或应用程序中独立的.完整的.可以独自被外部引用的内容.它可以是一篇博客或者报刊中的文章,一篇论坛帖子.一段用户评论或独立的 ...

  7. 11i - 12 How To Set Email Style Preference For All Users At Once?

    (文档 ID 578574.1) In this Document   Goal   Solution   Workflow Information Center, Diagnostics, & ...

  8. ios9基础知识总结(一)

    I--load 类被加载时自动调用,只要类的项目中,运行时就会加载.类一加载,此方法就会调用 //类被加载时调用,只要类的项目中,运行时就会加载,类一加载,此方法就调用 + (void)load { ...

  9. java+mysql中文乱码问题

    乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...

  10. Transition 所支持的css属性

    transition-property是用来指定当元素其中一个属性改变时执行transition效果: 所支持的属性类型如下: color: 通过红.绿.蓝和透明度组件变换(每个数值处理)如:back ...