2016-05-28 10:19:44 +08:00
Linux/Unix 桌面趣事:文字模式下的 ASCII 艺术与注释绘画
2015-12-15 10:46:54 +08:00
================================================================================
2016-05-28 10:19:44 +08:00
boxes 命令不仅是一个文本过滤器, 同时是一个很少人知道的有趣工具, 它可以在输入的文本或者代码周围框上各种ASCII 艺术画。你可以用它快速创建邮件签名,或者在各种编程语言中留下评论块。这个命令可以在 vim 文本编辑器中使用,但是也可以在各种支持过滤器的文本编辑器中使用,同时也可以在命令行中单独使用。
2015-12-15 10:46:54 +08:00
2016-02-18 17:01:56 +08:00
### 任务: 安装 boxes ###
2015-12-15 10:46:54 +08:00
2016-05-28 10:19:44 +08:00
使用 [apt-get 命令][1] 在 Debian / Ubuntu Linux 中安装 boxes:
2015-12-15 10:46:54 +08:00
$ sudo apt-get install boxes
2016-05-28 10:19:44 +08:00
输出示例:
2015-12-15 10:46:54 +08:00
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
boxes
0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 0 B/59.8 kB of archives.
After this operation, 205 kB of additional disk space will be used.
Selecting previously deselected package boxes.
(Reading database ... 224284 files and directories currently installed.)
Unpacking boxes (from .../boxes_1.0.1a-2.3_amd64.deb) ...
Processing triggers for man-db ...
Setting up boxes (1.0.1a-2.3) ...
2016-05-28 10:19:44 +08:00
RHEL / CentOS / Fedora Linux 用户, 使用 [yum 命令来安装][2] boxes, (请先[启用 EPEL 软件仓库][3]):
2015-12-15 10:46:54 +08:00
# yum install boxes
2016-05-28 10:19:44 +08:00
输出示例:
2015-12-15 10:46:54 +08:00
Loaded plugins: rhnplugin
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package boxes.x86_64 0:1.1-8.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================
Package Arch Version Repository Size
==========================================================================
Installing:
boxes x86_64 1.1-8.el6 epel 64 k
Transaction Summary
==========================================================================
Install 1 Package(s)
Total download size: 64 k
Installed size: 151 k
Is this ok [y/N]: y
Downloading Packages:
boxes-1.1-8.el6.x86_64.rpm | 64 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : boxes-1.1-8.el6.x86_64 1/1
Installed:
boxes.x86_64 0:1.1-8.el6
Complete!
2016-05-28 10:19:44 +08:00
FreeBSD 用户可以按如下使用:
2015-12-15 10:46:54 +08:00
cd /usr/ports/misc/boxes/ & & make install clean
2016-05-28 10:19:44 +08:00
或者,使用 pkg_add 命令来增加包:
2015-12-15 10:46:54 +08:00
# pkg_add -r boxes
2016-05-28 10:19:44 +08:00
### 在一些给定文本周围画出任何种类的包围框 ###
2015-12-15 10:46:54 +08:00
2016-05-28 10:19:44 +08:00
输入下列命令:
2015-12-15 10:46:54 +08:00
echo "This is a test" | boxes
2016-05-28 10:19:44 +08:00
或者,指定要使用的图案的名字:
2015-12-15 10:46:54 +08:00
echo -e "\n\tVivek Gite\n\tvivek@nixcraft.com\n\twww.cyberciti.biz" | boxes -d dog
2016-02-18 17:01:56 +08:00
输出示例 :
2015-12-15 10:46:54 +08:00
![Unix / Linux: Boxes Command To Draw Various Designs ](http://s0.cyberciti.org/uploads/l/tips/2012/06/unix-linux-boxes-draw-dog-design.png )
2016-05-28 10:19:44 +08:00
*图01: Unix / Linux: Boxes 命令来画出各式各样的图案 *
2015-12-15 10:46:54 +08:00
2016-05-28 10:19:44 +08:00
#### 怎么样输出所有的图案 ####
2015-12-15 10:46:54 +08:00
2016-05-28 10:19:44 +08:00
语法如下:
2015-12-15 10:46:54 +08:00
boxes option
pipe | boxes options
echo "text" | boxes -d foo
boxes -l
2016-05-28 10:19:44 +08:00
-d 选项用来设置要使用的图案的名字。语法如下:
2015-12-15 10:46:54 +08:00
echo "Text" | boxes -d design
pipe | boxes -d desig
2016-05-28 10:19:44 +08:00
-l 选项列出所有图案。它显示了在配置文件中的所有的框线设计图,同时也显示关于其创作者的信息。
2016-02-18 17:01:56 +08:00
2015-12-15 10:46:54 +08:00
boxes -l
boxes -l | more
boxes -l | less
2016-05-28 10:19:44 +08:00
输出示例:
2015-12-15 10:46:54 +08:00
43 Available Styles in "/etc/boxes/boxes-config":
-------------------------------------------------
ada-box (Neil Bird ):
---------------
-- --
-- --
---------------
ada-cmt (Neil Bird ):
--
-- regular Ada
-- comments
--
boy (Joan G. Stark ):
.-"""-.
/ .===. \
\/ 6 6 \/
( \___/ )
_________ooo__ \_____/______________
/ \
| joan stark spunk1111@juno.com |
| VISIT MY ASCII ART GALLERY: |
| http://www.geocities.com/SoHo/7373/ |
\_______________________ooo_________/ jgs
| | |
|_ | _|
| | |
|__|__|
/-'Y'-\
(__/ \__)
....
...
output truncated
..
2016-05-28 10:19:44 +08:00
### 在使用 vi/vim 文本编辑器时如何通过 boxes 过滤文本? ###
2015-12-15 10:46:54 +08:00
2016-05-28 10:19:44 +08:00
你可以在 vi 或 vim 中使用任何外部命令,比如在这个例子中,[插入当前日期和时间][4],输入:
2015-12-15 10:46:54 +08:00
!!date
2016-02-17 10:31:36 +08:00
或者
2015-12-15 10:46:54 +08:00
:r !date
2016-05-28 10:19:44 +08:00
你需要在 vim 中输入以上命令来读取 date 命令的输出,这将在当前行后面加入日期和时分秒:
2015-12-15 10:46:54 +08:00
Tue Jun 12 00:05:38 IST 2012
2016-05-28 10:19:44 +08:00
你可以用 boxes 命令做到同样的功能。如下创建一个作为示例的 shell 脚本或者c程序:
2016-02-18 17:01:56 +08:00
2015-12-15 10:46:54 +08:00
#!/bin/bash
Purpose: Backup mysql database to remote server.
Author: Vivek Gite
Last updated on: Tue Jun, 12 2012
2016-05-28 10:19:44 +08:00
现在输入如下( 将光标移到第二行, 也就是以“Purpose: ...”开头的行)
2015-12-15 10:46:54 +08:00
3!!boxes
2016-02-18 17:01:56 +08:00
瞧,你就会看到如下的输出 :
2015-12-15 10:46:54 +08:00
#!/bin/bash
/****************************************************/
/* Purpose: Backup mysql database to remote server. */
/* Author: Vivek Gite */
/* Last updated on: Tue Jun, 12 2012 */
/****************************************************/
2016-02-18 17:01:56 +08:00
这个短片将会给你介绍boxes命令:
2015-12-15 10:46:54 +08:00
注: youtube 视频
< iframe width = "595" height = "446" frameborder = "0" src = "http://www.youtube.com/embed/glzXjNvrYOc?rel=0" > < / iframe >
2016-02-18 17:01:56 +08:00
2016-05-28 10:19:44 +08:00
参见
2015-12-15 10:46:54 +08:00
2016-05-28 10:19:44 +08:00
- boxes 帮助手册
2015-12-15 10:46:54 +08:00
--------------------------------------------------------------------------------
via: http://www.cyberciti.biz/tips/unix-linux-draw-any-kind-of-boxes-around-text-editor.html
作者: Vivek Gite
2016-02-18 17:01:56 +08:00
译者:[zky001](https://github.com/zky001)
2016-05-28 10:19:44 +08:00
校对:[wxy](https://github.com/wxy)
2015-12-15 10:46:54 +08:00
本文由 [LCTT ](https://github.com/LCTT/TranslateProject ) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[1]:http://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html
[2]:http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/
[3]:http://www.cyberciti.biz/faq/fedora-sl-centos-redhat6-enable-epel-repo/
2016-01-01 20:15:17 +08:00
[4]:http://www.cyberciti.biz/faq/vim-inserting-current-date-time-under-linux-unix-osx/