云网牛站
所在位置:首页 > Linux命令 > 更多你所不知道的Linux命令

更多你所不知道的Linux命令

2017-12-16 11:25:56作者:Lv Feng稿源:Linux.中国

在这篇文章中探索 Linux 中的一些鲜为人知的强大工具。

本文是一篇关于一些有趣但鲜为人知的工具 termsaver、pv 和 calendar 的文章。termsaver 是一个终端 ASCII 屏保,pv 能够测量数据吞吐量并模拟输入。Debian 的 calendar 拥有许多不同的日历,并且你还可以制定你自己的日历。

 

终端屏保

难道只有图形桌面能够拥有有趣的屏保吗?现在,你可以通过安装 termsaver 来享受 ASCII 屏保,比如 matrix(注:电影《黑客帝国》中出现的黑客屏保)、时钟、星球大战以及两个不太安全(NSFW)的屏保。 NSFW 屏保还有很多。

termsaver 可以从 Debian/Ubuntu 的包管理器中直接下载安装,如果你使用别的不包含该软件包的发行版比如 CentOS,那么你可以从 http://termsaver.brunobraga.net/ 下载,然后按照安装指导进行安装。

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

更多你所不知道的Linux命令

下图为星球大战屏保:

更多你所不知道的Linux命令

你可以通过运行命令 termsaver [屏保名] 来使用屏保,比如 termsaver matrix ,然后按 Ctrl+c 停止。你也可以通过运行 termsaver [屏保名] -h 命令来获取关于某一个特定屏保的信息。星球大战屏保来自 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上最危险的8个命令

Linux命令子频道
精选文章
热门文章