Linux中國

更多你所不知道的 Linux 命令

在這篇文章中和 Carla Schroder 一起探索 Linux 中的一些鮮為人知的強大工具。

本文是一篇關於一些有趣但鮮為人知的工具 termsaverpvcalendar 的文章。termsaver 是一個終端 ASCII 屏保,pv 能夠測量數據吞吐量並模擬輸入。Debian 的 calendar 擁有許多不同的日曆,並且你還可以制定你自己的日曆。

終端屏保

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

termsaver 可以從 Debian/Ubuntu 的包管理器中直接下載安裝,如果你使用別的不包含該軟體包的發行版比如 CentOS,那麼你可以從 termsaver.brunobraga.net 下載,然後按照安裝指導進行安裝。

運行 termsaver -h 來查看一系列屏保:

 randtxt        displays word in random places on screen
 starwars       runs the asciimation Star Wars movie
 urlfetcher     displays url contents with typing animation
 quotes4all     displays recent quotes from quotes4all.net
 rssfeed        displays rss feed information
 matrix         displays a matrix movie alike screensaver
 clock          displays a digital clock on screen
 rfc            randomly displays RFC contents
 jokes4all      displays recent jokes from jokes4all.net (NSFW)
 asciiartfarts  displays ascii images from asciiartfarts.com (NSFW)
 programmer     displays source code in typing animation
 sysmon         displays a graphical system monitor

![Linux commands](/data/attachment/album/201712/15/115543p0m0t7zhmukkht7m.png "Linux commands")

圖片 1: 星球大戰屏保。

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

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

pv

pv 命令是一個非常有趣的小工具但卻很實用。它的用途是監測數據複製的過程,比如,當你運行 rsync 命令或創建一個 tar 歸檔的時候。當你不帶任何選項運行 pv 命令時,默認參數為:

  • -p :進程
  • -t :時間,到當前總運行時間
  • -e :預計完成時間,這往往是不準確的,因為 pv 通常不知道需要移動的數據的大小
  • -r :速率計數器,或吞吐量
  • -b :位元組計數器

一次 rsync 傳輸看起來像這樣:

$ rsync -av /home/carla/ /media/carla/backup/ | pv 
sending incremental file list
[...]
103GiB 0:02:48 [ 615MiB/s] [  <=>

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

$ tar -czf - /file/path| (pv  > backup.tgz)
 885MiB 0: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/Visited Links:  
  256KiB 0: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 來查看所有的選項。

/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
Apr 17  An unexpected party
Apr 23  Crowning of King Ellesar
May 19  Arwen leaves Lorian to wed King Ellesar
Jun 11  Sauron attacks Osgilliath

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

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

你可以通過來自 Linux 基金會和 edx 的免費課程 "Introduction to Linux" 來學習更過關於 Linux 的知識

(題圖:CC Zero Pixabay)

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

作者:CARLA SCHRODER 譯者:ucasFL 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國