K1two2's Geek Hub


NEET
Independent Researcher
Linux/Unix 桌面趣事:文字模式下的 ASCII 艺术与注释绘画

boxes 命令不仅是一个文本过滤器,同时是一个很少人知道的有趣工具,它可以在输入的文本或者代码周围框上各种ASCII 艺术画。你可以用它快速创建邮件签名,或者在各种编程语言中留下评论块。这个命令可以在 vim 文本编辑器中使用,但是也可以在各种支持过滤器的文本编辑器中使用,同时也可以在命令行中单独使用。

任务: 安装 boxes

使用 apt-get 命令 在 Debian / Ubuntu Linux 中安装 boxes:

$ sudo apt-get install boxes

输出示例:

 1 Reading package lists... Done
 2 Building dependency tree
 3 Reading state information... Done
 4 The following NEW packages will be installed:
 5 boxes
 6 0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
 7 Need to get 0 B/59.8 kB of archives.
 8 After this operation, 205 kB of additional disk space will be used.
 9 Selecting previously deselected package boxes.
10 (Reading database ... 224284 files and directories currently installed.)
11 Unpacking boxes (from .../boxes_1.0.1a-2.3_amd64.deb) ...
12 Processing triggers for man-db ...
13 Setting up boxes (1.0.1a-2.3) ...

RHEL / CentOS / Fedora Linux 用户, 使用 yum 命令来安装 boxes,(请先启用 EPEL 软件仓库):

# yum install boxes

输出示例:

 1 Loaded plugins: rhnplugin
 2 Setting up Install Process
 3 Resolving Dependencies
 4 There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
 5 --> Running transaction check
 6 ---> Package boxes.x86_64 0:1.1-8.el6 will be installed
 7 --> Finished Dependency Resolution
 8 Dependencies Resolved
 9 ==========================================================================
10  Package        Arch            Version               Repository     Size
11 ==========================================================================
12 Installing:
13  boxes          x86_64          1.1-8.el6             epel           64 k
14 Transaction Summary
15 ==========================================================================
16 Install       1 Package(s)
17 Total download size: 64 k
18 Installed size: 151 k
19 Is this ok [y/N]: y
20 Downloading Packages:
21 boxes-1.1-8.el6.x86_64.rpm                         |  64 kB     00:00
22 Running rpm_check_debug
23 Running Transaction Test
24 Transaction Test Succeeded
25 Running Transaction
26   Installing : boxes-1.1-8.el6.x86_64                                 1/1
27 Installed:
28   boxes.x86_64 0:1.1-8.el6
29 Complete!

FreeBSD 用户可以按如下使用:

cd /usr/ports/misc/boxes/ && make install clean

或者,使用 pkg_add 命令来增加包:

# pkg_add -r boxes

在一些给定文本周围画出任何种类的包围框

输入下列命令:

echo "This is a test" | boxes

或者,指定要使用的图案的名字:

echo -e "\n\tVivek Gite\n\tvivek@nixcraft.com\n\twww.cyberciti.biz" | boxes -d dog

输出示例 :

Unix / Linux: Boxes Command To Draw Various Designs

*图01: Unix / Linux: Boxes 命令来画出各式各样的图案 *

怎么样输出所有的图案

语法如下:

1 boxes option
2 pipe | boxes options
3 echo "text" | boxes -d foo
4 boxes -l

-d 选项用来设置要使用的图案的名字。语法如下:

1 echo "Text" | boxes -d design
2 pipe | boxes -d desig

-l 选项列出所有图案。它显示了在配置文件中的所有的框线设计图,同时也显示关于其创作者的信息。

1 boxes -l
2 boxes -l | more
3 boxes -l | less

输出示例:

 1 43 Available Styles in "/etc/boxes/boxes-config":
 2 -------------------------------------------------
 3 ada-box (Neil Bird ):
 4     ---------------
 5     --           --
 6     --           --
 7     ---------------
 8 ada-cmt (Neil Bird ):
 9     --
10     -- regular Ada
11     -- comments
12     --
13 boy (Joan G. Stark ):
14                     .-"""-.
15                    / .===. \
16                    \/ 6 6 \/
17                    ( \___/ )
18       _________ooo__\_____/______________
19      /                                   \
20     |   joan stark   spunk1111@juno.com   |
21     |     VISIT MY ASCII ART GALLERY:     |
22     | http://www.geocities.com/SoHo/7373/ |
23      \_______________________ooo_________/  jgs
24                     |  |  |
25                     |_ | _|
26                     |  |  |
27                     |__|__|
28                     /-'Y'-\
29                    (__/ \__)
30 ....
31 ...
32 output truncated
33 ..

在使用 vi/vim 文本编辑器时如何通过 boxes 过滤文本?

你可以在 vi 或 vim 中使用任何外部命令,比如在这个例子中,插入当前日期和时间,输入:

!!date

或者

:r !date

你需要在 vim 中输入以上命令来读取 date 命令的输出,这将在当前行后面加入日期和时分秒:

Tue Jun 12 00:05:38 IST 2012

你可以用 boxes 命令做到同样的功能。如下创建一个作为示例的 shell 脚本或者c程序:

1 #!/bin/bash
2 Purpose: Backup mysql database to remote server.
3 Author: Vivek Gite
4 Last updated on: Tue Jun, 12 2012

现在输入如下(将光标移到第二行,也就是以“Purpose: ...”开头的行)

3!!boxes

瞧,你就会看到如下的输出 :

#!/bin/bash
/****************************************************/
/* Purpose: Backup mysql database to remote server. */
/* Author: Vivek Gite           */
/* Last updated on: Tue Jun, 12 2012                */
/****************************************************/

这个短片将会给你介绍boxes命令:

posted on 2016-05-31 14:46  K1two2  阅读(1269)  评论(0编辑  收藏  举报

版权声明:如果网站侵犯了您的合法著作权宜,请发送邮件至我,经核实后,我会在24小时内删除该资源!