閱讀460 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Linux命令行之逗趣無極限

你有沒有在Linux命令行中見過一輛火車呢?"貓跟老鼠"呢?編輯Linux命令行其實並不總是件嚴肅古板的事情。你完全可以用它自娛自樂。下麵我們就跟大家一起討論一下Linux命令行的特質。

假設:本文所有示例都使用Ubuntu Linux。文中描述命令行功能或許在你的Linux係統中是默認的。

有趣的Linux命令行功效

1. 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  給人弄個惡作劇。

2. Linux "yes" 命令

這裏是一個在進程結束前一直打印輸入字符串的命令。萬一,用戶不指定任何輸入字符串,默認命令是"y"。

命令會這樣運行:

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

用"ctrl+c"結束前台運行進程。

很奇怪,是嗎?為什麼我們希望命令在進程中一直打印字符串呢?盡管這樣運行的方式很傻,但卻不一定沒用。我們可以用特定腳本中的"yes"命令,在這些腳本中,我們可以用重複操作作答。例如,我們可以在一組文件上進行操作,而Linux會要求我們對文件進行確認。我們可以用"yes"命令自動回複。

3. 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

4. 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可以像個算命師一樣。

5. Linux"figlet"命令

這個命令會用大寫方式把我們輸入的字符串顯示在標題欄,顯示效果由ASCII字符組成。

由於它不是標準設置,所以要先安裝這一功能。

$sudo apt-get install figlet

看到字符串在終端上變成這樣確實很有意思。

$ figlet mylinuxbook

你可以試著用"figlet"在腳本標頭或源代碼中添加標題欄。

6. Linux "toilet"命令

我不知道這個命令的名字源自哪裏。但是它確實個五顏六色的命令。與figlet一樣,它會把文本顯示稱標題欄,但是效果更好。

首先,安裝:

$sudo apt-get install toilet

然後試一試這個簡單的命令:

$toilet mylinuxbook

輸入效果如下圖所示:

它比figlet命令的效果更有藝術感。

不過,它還可以添加顏色。我們可以運行下列命令看到顏色:

$toilet -f mono12 -F metal mylinuxbook

效果如下圖:

7. 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

則出現下麵的效果:

8. Linux "cmatrix"命令

這個命令會在終端生成ASCII字符組成的矩陣風格的動畫效果。

先安裝:

$sudo apt-get install cmatrix

現在運行:

cmatrix

出來的效果很酷:

用"ctrl+c" 結束,生成動畫。

9. Linux "oneko" 命令

這個命令是最好玩的。我們都知道"貓和老鼠"的動畫,這個命令會讓我們想起他們的追逐遊戲。有了這行命令,我們可以看到一隻貓在追老鼠(鼠標指示器)的效果。

先安裝:

$sudo apt-get install oneko

運行這個命令,我們輸入:

oneko

然後你就可以看到不管鼠標指示器放到哪裏,Tom貓都會追著跑。下麵是截圖,不過不足以顯示動態的效果:

即便我們切換應用,貓也不會離開老鼠。它甚至沒有局限於終端。

想關掉這個的時候,隻需在終端裏用ctrl+c 結束進程即可。

結語

希望讀者可以了解以上有趣的Linux命令行功能。如果你還知道更多諸如此類的有趣命令,不妨留言跟大家一起分享吧!

最後更新:2017-04-03 20:19:50

  上一篇:go 進程通信係列-消息緩衝
  下一篇:go linux字符設備驅動開發模板及Makefile