運維總監不會告訴你這些有趣但鮮爲人知的 Linux 命令

2017-11-05 13:38

在這篇文章中和 Carla Schroder 一起探索 Linux 中的一些鮮爲人知的強大工具。本文是一篇關於一些有趣但鮮爲人知的工具 termsaver、pv 和 calendar 的文章。

 

termsaver 是一個終端 ASCII 屏保,pv能夠測量數據吞吐量並模擬輸入。Debian 的 calendar 擁有許多不同的日曆,並且你還可以制定你自己的日曆。

 

工具1:終端屏保

難道只有圖形桌面能夠擁有有趣的屏保嗎?

現在,你可以通過安裝 termsaver 來享受 ASCII 屏保,比如 matrix(LCTT 譯註:電影《黑客帝國》中出現的黑客屏保)、時鐘、星球大戰以及兩個不太安全not-safe-for-work(NSFW)的屏保。 NSFW 屏保還有很多。

termsaver 可以从 Debian/Ubuntu 的包管理器中直接下載安裝,如果你使用別的不包含該軟件包的發行版比如 CentOS,那么你可以从 termsaver.brunobraga.net 下载,然后按照安装指导进行安装。

运行 termsaver -h 来查看一系列屏保:

1.randtxt displays word in random places on screen

2.starwarsrunstheasciimation StarWars movie

3.urlfetcher displays url contents with typing animation

4.quotes4all displays recent quotes from quotes4all.net

5.rssfeed displays rss feed information

6.matrix displays a matrix movie alike screensaver

7.clock displays a digital clock on screen

8.rfc randomly displays RFC contents

9.jokes4all displays recent jokes from jokes4all.net (NSFW)

10.asciiartfarts displays ascii images from asciiartfarts.com (NSFW)

11.programmer displays source code in typing animation

12.sysmon displays a graphical system monitor

 

圖片 1: 星球大戰屏保。

 

你可以通過運行命令 termsaver [屏保名] 来使用屏保,比如 termsaver matrix ,然后按 Ctrl+c 停止。你也可以通过运行 termsaver [屏保名] -h 命令來獲取關於某一個特定屏保的信息。圖片 1 來自 startwars 屏保,它运行的是古老但受人喜爱的 Asciimation Wars 。

那些不太安全(NSFW)的屏保通過在線獲取資源的方式運行,我並不喜歡它們,但好消息是,由於 termsaver 是一些 Python 腳本文件,因此,你可以很容易的利用它們連接到任何你想要的 RSS 資源。

 

工具2:pv

pv 命令是一個非常有趣的小工具但卻很實用。它的用途是監測數據複製的過程,比如,當你運行 rsync 命令或创建一个 tar 归档的时候。当你不带任何选项运行 pv 命令时,默认参数为:

-p :進程

-t :時間,到當前總運行時間

-e :預計完成時間,這往往是不準確的,因爲 pv 通常不知道需要移动的数据的大小

-r :速率計數器,或吞吐量

-b :字節計數器

一次 rsync 传输看起来像这样:

$ rsync -av /home/carla/ /media/carla/backup/|pv

sending incremental filelist

[...]

103GiB0:02:48[615MiB/s][<=>

創建一個 tar 歸檔,就像下面這個例子:

$ tar-czf -/file/path|(pv> backup.tgz)

885MiB0:00:30[28.6MiB/s][<=>

pv 能夠監測進程,因此也可以監測 Web 瀏覽器的最大活動,令人驚訝的是,它產生了如此多的活動:

$ pv-d 3095

58:/home/carla/.pki/nssdb/key4.db:0 B 0:00:33

[0 B/s][<=>]

78:/home/carla/.config/chromium/Default/VisitedLinks:

256KiB0:00:33[0 B/s][<=>]

]

85:/home/carla/.con...romium/Default/data_reduction_proxy_leveldb/LOG:

298 B 0:00:33[0 B/s][<=>]

在網上,我偶然發現一個使用 pv 最有趣的方式:使用 pv 来回显输入的内容:

$ echo"typing random stuff to pipe through pv"|pv-qL 8

typing random stuff to pipe through pv

普通的 echo 命令会瞬间打印一整行内容。通过管道传给 pv 之後能夠讓內容像是重新輸入一樣的顯示出來。我不知道這是否有實際的價值,但是我非常喜歡它。-L 选项控制回显的速度,即多少字节每秒。

pv 是一個非常古老且非常有趣的命令,這麼多年以來,它擁有了許多的選項,包括有趣的格式化選項,多種輸出選項,以及傳輸速度修改器。你可以通過 man pv 来查看所有的选项。

工具3:calendar

/usr/bin/calendar

通過瀏覽 /usr/bin 目錄以及其他命令目錄和閱讀 man 手冊,你能夠學到很多東西。在 Debian/Ubuntu 上的 /usr/bin/calendar 是 BSD 日曆的一個變種,但它漏掉了月亮歷和太陽曆。它保留了多個日曆包括 calendar.computer, calendar.discordian, calendar.music 以及 calendar.lotr。在我的系統上,man 手冊列出了 /usr/bin/calendar 裏存在的不同日曆。下面這個例子展示了指環王日曆接下來的 60 天:

$ calendar -f /usr/share/calendar/calendar.lotr -A 60

Apr17An unexpected party

Apr23Crowning of KingEllesar

May19Arwen leaves Lorian to wed KingEllesar

Jun11Sauron attacks Osgilliath

這些日曆是純文本文件,因此,你可以輕鬆的創建你自己的日曆。最簡單的方式就是複製已經存在的日曆文件的格式。你可以通過 man calendar 命令來查看創建個人日曆文件的更詳細的指導。

又一次很快走到了盡頭。你可以花費一些時間來瀏覽你的文件系統,挖掘更多有趣的命令。

你可以通過來自 Linux 基金會和 edx 的免費課程 "Introduction to Linux" 来学习更过关于 Linux 的知识。

——————

via: //www.linux.com/learn/intro-to-linux/2017/4/more-unknown-linux-commands

作者:CARLA SCHRODER 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出