Linux的10個經典彩蛋
每當你開啟的Linux虛擬主機的時候,通常是為了完成工作。但是,一臺普通的Linux主機上,有成千上萬的開發者開發的軟體,你能保證他們都是這麼正經的?
Linux的軟體有加一些有趣的彩蛋的傳統。本文主要是介紹一些有趣的命令和選項,讓你的生活更多彩一些。這些並非全是彩蛋,不過我相信你多少會喜歡它們的。
文字編輯器
vim和Douglas Adams
熟悉Douglas Adams(也就是The Hitchhiker's Guide to the Galaxy一書的作者)的人,vim編輯器有個幫忙選項會讓你讚不絕口。
如果你還沒裝vim。在Ubuntu/Debian,你可以這樣:
sudo apt-get install vim
在CentOS/Fedora裡,可以:
sudo yum install vim
在命令列開啟vim:
vim
輸入以下命令開啟vim的一個特殊的幫助選單:
:help 42
What is the meaning of life, the universe and everything? *42* Douglas Adams, the only person who knew what this question really was about is now dead, unfortunately. So now you might wonder what the meaning of death is…
想退出vim的話,敲兩遍這個:
:q :q
Emacs遊戲
從未敗績,除了廚房水槽外包羅永珍無所不有的著名文字編輯器, Emacs,它裡面包含的遊戲多的讓你乍舌,直接在編輯器裡就能玩。首先,你得先裝一下Emacs,在Ubuntu/Debian,你可以這樣:
sudo apt-get install emacs
在CentOS/Fedora裡,可以:
sudo yum install emacs
看下這個目錄你會發現有很多的遊戲:
cd /usr/share/emacs/*/lisp/play ls
5x5.elc decipher.elc gametree.elc meese.elc spook.elc animate.elc dissociate.elc gomoku.elc morse.elc studly.elc blackbox.elc doctor.elc handwrite.elc mpuz.elc tetris.elc bruce.el dunnet.elc hanoi.elc pong.elc yow.elc bubbles.elc fortune.elc landmark.elc snake.elc zone.elc cookie1.elc gamegrid.elc life.elc solitaire.elc
執行它們的話,先開啟Emacs:
emacs
然後同時按下Esc鍵和x(執行),然後輸入你想玩的遊戲的名字:
Esc-x pong
要退出Emacs的話,同時按下ctrl鍵和x,然後是ctrl+c:
Ctrl-x Ctrl-c
Apt命令
apt-get的超級牛力
在Ubuntu和Debian上,apt-get這個包管理器很久以來一直都內嵌著一個彩蛋。
如果你輸入一個apt-get的幫助命令,你會得到個這樣的提示:
apt-get help
. . . . . . -c=? Read this configuration file -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp See the apt-get(8), sources.list(5) and apt.conf(5) manual pages for more information and options. This APT has Super Cow Powers. 這個APT有著超級牛力。
如果看到最後一行的提示說明這個版本的apt是支援這個彩蛋的。再輸入一個:
apt-get moo
(__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"…
Aptitude的呢?
看到apt-get和牛的曖昧關係,使用者不禁會想,另一個apt工具aptitude是不是也有這個有趣的彩蛋呢?
我們像之前那樣再試一下:
aptitude help
. . . . . . -u Download new package lists on startup. (terminal interface only) -i Perform an install run on startup. (terminal interface only) This aptitude does not have Super Cow Powers. 這個aptitude沒有超級牛力。
太令人失望了。再試下別的方式:
aptitude moo
There are no Easter Eggs in this program(這個程式沒有彩蛋).
太直白了吧。不過堅持很重要。我們再試下有沒有更多資訊:
aptitude -v moo
There really are no Easter Eggs in this program.(這個程式真的沒有彩蛋)
再來:
aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program? 我不是告訴過你這個程式沒有彩蛋了嗎?
不過你再不停的加v的話,最終你會看到這個:
aptitude -vvvvv moo
All right, you win.好吧,你贏了。 /----\ -------/ \ / \ / | -----------------/ --------\ ----------------------------------------------
不過這看著不大像。我們再加一個v:
aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course. 這是什麼?這就是一條蛇吞了一隻大象.(看不懂的請自覺搜尋小王子)
這裡引用了Antoine de Saint-Exupéry的《小王子》書裡的一句話。
常見程式的另類引數
在一些常見的程式中也有些奇怪的引數,這你一定會很好奇。
用sudo來羞辱使用者
你可以配置sudo(用來給命令授權的),來羞辱那些輸錯密碼的使用者。
想這麼做的話,先用個visudo的工具編輯下sudoers檔案,這個工具用來編輯sudo配置檔案並且進行修改的校驗。
sudo visudo
在檔案頂部,加上這麼一行:
Defaults insults
然後儲存並且關閉檔案。
然後,清空密碼的快取,然後在sudo命令裡輸入錯的密碼:
sudo -k sudo ls
[sudo] password for demo: # 輸入一個錯的密碼 Have you considered trying to match wits with a rutabaga?(你這是在開玩笑麼,)? [sudo] password for demo: My pet ferret can type better than you!(我的寵物鼬都能敲的比你好!) [sudo] password for demo: Wrong! You cheating scum! (不對!你個騙子!)
指令碼小子的Nmap輸出
Nmap是一款網路檢測工具,它可以用來進行系統的安全檢查。
在Ubuntu/Dedian上安裝一下它:
sudo apt-get install nmap
在CentOS/Fedora上面這樣:
sudo yum install nmap
Nmap提供了這麼一個選項,讓它能把資料輸出成“指令碼小子”的那種格式。
我們先來看下正常的格式是什麼樣的,用Nmap來檢測下它自己的網站:
nmap scanme.nmap.org
Starting Nmap 5.21 ( http://nmap.org ) at 2013-09-18 17:43 UTC Nmap scan report for scanme.nmap.org (74.207.244.221) Host is up (0.072s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 1.40 seconds
我們來加個選項調整下輸出的格式:
$tart|ng NMap 5.21 ( http://Nmap.org ) at 2013-09-18 17:45 UTC Nmap $cAn r3p0rt F0r scanM3.nmaP.oRg (74.207.244.221) Ho$t 1z Up (0.071z laT3ncy). Not sh0wN: 998 cl0$Ed p0rt$ POrT ST4TE $ERV!C3 22/tcp opEn Ssh 80/tcP 0p3n HtTp Nmap d0n3: 1 iP AddrESz (1 h0$t Up) $canNed !n 1.34 secondz
其實它就是用看起來相近的字元替換了原有的字元,讓結果看起來更有“黑客範”一點。
命令列的星球大戰
終端裡就有兩款網路版的命令列的星球大戰。
用telnet觀看ASCII版的星球大戰影片
Simon Jansen, Sten Spans, 和Mike Edwards用ASCII模擬了一個完整的星球大戰影片,你可以用telnet來觀看它。首先,如果沒有安裝的話,下載一下telnet,它是ssh的先驅:
在Ubuntu/Debian上面:
sudo apt-get install telnet
在CentOS/Fedora上面:
sudo yum install telnet
然後你只要連上正確的伺服器就可以了:
telnet towel.blinkenlights.nl
/~\ R2-D2! |oo ) Where are you? # _\=/_ # \\ / _ \ // \\//|/.\|\\// \/ \_/ \/ |\ /| \_ _/ | | | | | | []|[] | | | _______________________________/_]_[_\_____________________________
如果你不想看了,按下ctrl+]。會有一個提示,然後你輸入”close”就行了:
Ctrl-] close
星球大戰版traceroute
還有一份獻禮是Ryan Werber送上的,他把網路的節點全都命名成特殊的地址了。
如果你執行traceroute,一個跟蹤網路包到遠端機器的路徑的程式,你會在網路節點名上看到星球大戰的介紹。
就敲一下:
traceroute -m 254 -q1 obiwan.scrye.net
路由資訊就會不斷產生了。經過幾跳後,奇蹟發生了:
. . . . . . 15 Episode.IV (206.214.251.1) 77.506 ms 16 A.NEW.HOPE (206.214.251.6) 87.194 ms 17 It.is.a.period.of.civil.war (206.214.251.9) 77.699 ms 18 Rebel.spaceships (206.214.251.14) 78.171 ms 19 striking.from.a.hidden.base (206.214.251.17) 87.624 ms 20 have.won.their.first.victory (206.214.251.22) 86.249 ms 21 against.the.evil.Galactic.Empire (206.214.251.25) 77.505 ms 22 During.the.battle (206.214.251.30) 85.622 ms 23 Rebel.spies.managed (206.214.251.33) 78.121 ms 24 to.steal.secret.plans (206.214.251.38) 77.049 ms . . . . . .
在第4,5,6幕介紹完後,Ryan開始自娛自樂起來了:
99 Were.no.strangers.to.love (206.214.251.206) 77.472 ms 100 You.know.the.rules.and.so.do.I (206.214.251.209) 78.054 ms 101 A.full.commitments.what.Im.thinking.of (206.214.251.214) 78.512 ms 102 I.just.wanna.tell.you.how.Im.feeling (206.214.251.217) 79.884 ms 103 Gotta.make.you.understand (206.214.251.222) 79.427 ms 104 Never.gonna.give.you.up (206.214.251.225) 77.032 ms 105 Never.gonna.let.you.down (206.214.251.230) 78.909 ms 106 Never.gonna.run.around.and.desert.you (206.214.251.233) 80.286 ms
純粹找樂子的程式
還有些程式是你壓根兒不需要的,不過有時候可以拿來打發打發時間。
拼寫錯誤學習
如果你想要用ls列出目錄下的檔案卻敲成了sl,那你可能會想安裝一下sl這個程式。
在Ubuntu/Debian上面:
sudo apt-get install sl
在CentOS/Fedora上面:
sudo yum install sl
現在,如果你不小心敲成了sl,你一定會樂了:
sl
( ) (@@) ( ) (@) () @@ O @ O @ (@@@) ( ) (@@@@) ( ) ==== ________ ___________ _D _| |_______/ \__I_I_____===__|_________| |(_)--- | H\________/ | | =|___ ___| _________________ / | | H | | | | ||_| |_|| _| \___ | | | H |__--------------------| [___] | =| | ________|___H__/__|_____/[][]~\_______| | -| |/ | |-----------I_____I [][] [] D |=======|____|______________________ __/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|________________________ |/-=|___|=O=====O=====O=====O |_____/~\___/ |_D__D__D_| |_D__D__D \_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \
會有一輛火車呼嘯而過。
cowsay和Fortune
如果你想玩點簡單腦殘的,而apt那些牛又不能滿足你,那你可以試試cowsay和fortune。
在Ubuntu/Debian上:
sudo apt-get install fortune cowsay
在CentOS/Fedora上:
sudo yum install fortune cowsay
cowsay會用ASCII畫一頭牛出來,你輸入什麼,這牛就說什麼。
cowsay "hello, I'm a cow”
__________________ < hello, I'm a cow > ------------------ \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
fortune程式則會說一些語錄,運程,笑話或者廢話什麼的,這些可以拿來傳給cowsay程式:
cowsay "hello, I'm a cow”
________________________________________ / Q: What looks like a cat, flies like a \ | bat, brays like a donkey, and | | | \ plays like a monkey? A: Nothing. / ---------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
如果你對牛不太感冒,那麼還可以換成別的角色:
fortune | cowsay -f tux
_____________________________________ / You never know how many friends you \ | have until you rent a house on the | \ beach. / ------------------------------------- \ \ .--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
想知道cowsay都支援哪些角色,輸入下:
cowsay -l
Cow files in /usr/share/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
我個人是比較喜歡劍龍:
fortune | cowsay -f stegosaurus
_________________________________________ / Q: What lies on the bottom of the ocean \ \ and twitches? A: A nervous wreck. / ----------------------------------------- \ . . \ / `. .' " \ .---. < > < > .---. \ | \ \ - ~ ~ - / / | _____ ..-~ ~-..-~ | | \~~~\.' `./~~~/ --------- \__/ \__/ .' O \ / / \ " (_____, `._.' | } \/~~~/ `----. / } | / \__/ `-. | / | / `. ,~~| ~-.__| /_ - ~ ^| /- _ `..-' | / | / ~-. `-. _ _ _ |_____| |_____| ~ - . _ _ _ _ _>
總結
這篇文章不會傳授你什麼重要的知識或者提高你的Linux水平啥的,就是希望能你能稍微放鬆一下,有可能的話多探索一下你的系統。
英文連結:https://www.digitalocean.com/community/articles/top-10-linux-easter-eggs
相關文章
- 10個非常有趣的 Linux 彩蛋Linux
- 10個經典的C語言小程式C語言
- 10個經典的 Java main 方法面試題JavaAI面試題
- 5個經典有趣的 Linux 命令列技巧Linux命令列
- 10條經典的貿易經驗
- Google彩蛋:谷歌產品中的15個最佳彩蛋Go谷歌
- 10個Java 8 Lambda表示式經典示例Java
- 11個無用而有趣的Linux終端彩蛋Linux
- 細數10個隱藏在Python中的彩蛋Python
- linux常用 經典命令Linux
- 一個bug造就的經典遊戲....遊戲
- 6個經典的JavaScript報錯分析JavaScript
- JavaScript開發的45個經典技巧JavaScript
- JavaScript 開發的45個經典技巧JavaScript
- 10個經典實用的HTML5圖表動畫應用HTML動畫
- Linux 【Shell指令碼經典案例】Linux指令碼
- vmware for linux 使用經典問答Linux
- 經典c程式100例C程式
- win10電腦如何玩經典老遊戲 win10執行經典遊戲的步驟Win10遊戲
- C++經典程式100例【10】C++
- 回顧 Web 開發者熟悉的 10 個經典開源專案和工具Web
- 管理文庫]我喜歡的10個經典管理學定律點評
- 25個經典的Spring面試問答Spring面試
- 5個經典的前端面試問題前端面試
- 開發中三個經典的原則
- Javascript中最常用的55個經典技巧JavaScript
- Linux一些經典書籍Linux
- Linux篇一:經典指令碼scriptLinux指令碼
- 程式猿的一些幽默趣聞 個個經典
- 程式猿的一些幽默趣聞 個個經典
- 10個經典的C語言面試基礎演算法及程式碼C語言面試演算法
- 每個程式設計師應該閱讀的10本經典書籍程式設計師
- linux下多定時器的實現(經典)Linux定時器
- 23個經典設計模式的Swift實現設計模式Swift
- Javascript中最常用的55個經典技巧(轉)JavaScript
- 11個實用經典的SQL小貼士SQL
- 四個經典的SQL程式設計問題SQL程式設計
- 70個經典的 Shell 指令碼面試問題指令碼面試