在这篇文章中探索 Linux 中的一些鲜为人知的强大工具。 本文是一篇关于一些有趣但鲜为人知的工具 termsaver、pv 和 calendar 的文章。termsaver 是一个终端 ASCII 屏保,pv 能够测量数据吞吐量并模拟输入。Debian 的 calendar 拥有许多不同的日历,并且你还可以制定你自己的日历。
终端屏保 难道只有图形桌面能够拥有有趣的屏保吗?现在,你可以通过安装 termsaver 来享受 ASCII 屏保,比如 matrix(注:电影《黑客帝国》中出现的黑客屏保)、时钟、星球大战以及两个不太安全(NSFW)的屏保。 NSFW 屏保还有很多。 termsaver 可以从 Debian/Ubuntu 的包管理器中直接下载安装,如果你使用别的不包含该软件包的发行版比如 CentOS,那么你可以从 http://termsaver.brunobraga.net/ 下载,然后按照安装指导进行安装。 运行 termsaver -h 来查看一系列屏保:
下图为星球大战屏保:
你可以通过运行命令 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 命令来查看创建个人日历文件的更详细的指导。
又一次很快走到了尽头。你可以花费一些时间来浏览你的文件系统,挖掘更多有趣的命令。
相关主题 |