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命令:

时间: 2024-09-18 23:01:24

Linux/Unix 桌面趣事:文字模式下的 ASCII 艺术与注释绘画的相关文章

详解 UEFI 模式下安装 Linux

引言 几年来,一种新的固件技术悄然出现,而大多数普通用户对此并无所知.该技术被称为 可扩展固件接口Extensible Firmware Interface(EFI), 或更新一些的统一可扩展固件接口(Unified EFI,UEFI,本质上是 EFI 2.x),它已经开始替代古老的 基本输入/输出系统Basic Input/Output System(BIOS)固件技术,有经验的计算机用户或多或少都有些熟悉 BIOS. 本页面是给 Linux 用户使用 EFI 技术的一个快速介绍,其中包括有关

《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器

4.2 Linux下的简单文字模式文本编辑器 Linux下的文本编辑器种类很多,功能的复杂程度和操作的难易度也不尽相同.在此我们将其大致分为可视和不可视两种.在本节中讲解的ed,jed,joe,pico和sed都属于不可视编辑器,不能进行全屏方式下的操作,操作相对简单.但可视编辑器的交互功能更好,典型的可视编辑器有vi和emacs,这将在下一节中讲述. 4.2.1 ed指令:简单的行文本编辑器 理解行编辑的概念,掌握ed指令进行简单的行文本编辑的方法 ed [参数] [文件名] ed指令是Lin

Linux/Unix下ODBC的安装、配置与编程

odbc|unix|编程 Linux/Unix下ODBC的安装.配置与编程 齐亮 (cavendish@eyou.com) 2002 年 7 月 本文主要内容是介绍ODBC的简单原理,以及如何在Linux/Unix下进行ODBC的安装.配置与编程. 一. ODBC原理 ODBC 是Open Database Connect 即开放数据库互连的简称,它是由Microsoft 公司于1991 年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件.它通过使用相应应用平台上和所需

Linux/Unix环境下的Make和Makefile详解_unix linux

Linux/Unix环境下的Make和Makefile详解  无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说

如何在UEFI模式下安装Linux

此页面是免费浏览的,没有烦人的外部广告;然而,我的确花了时间准备,网站托管也花了钱.如果您发现此页面帮到了您,请考虑进行小额捐款,以帮助保持网站的运行.谢谢! 原著于 2013/10/19;最后修改于 2015/3/16 引言 几年来,一种新的固件技术悄然出现,而大多数普通用户对此并无所知.该技术被称为 可扩展固件接口(Extensible Firmware Interface)(EFI), 或更新一些的统一可扩展固件接口(Unified EFI,UEFI,本质上是 EFI 2.x),它已经开始

Linux中字符模式下设置和删除环境变量?

Linux中字符模式下设置和删除环境变量? bash下 设置:export 变量名=变量值删除:unset 变量名 csh下 设置:setenv 变量名 变量值删除:unsetenv 变量名

10个 Linux/Unix下 Bash 和 KSH shell 的作业控制实例

Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程).在这个新的博客系列,我将会列出相关的 Linux 和 Unix 作业(job)控制的命令,你可以通过这些命令在 Bash 或 Korn 还有 POSIX shell 下实现执行多重任务. 什么是作业控制? 作业控制不只是能够停止/挂起(stop/suspend)正在执行的进程(命令),也可以继续/唤醒(continue/resume)执行你需要的每一个进程.这完全可以用你的操作系统和 bash/

Linux下套接字详解(十)---epoll模式下的IO多路复用服务器

epoll模型简介 epoll可是当前在Linux下开发大规模并发网络程序的热门人选,epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的. 其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型,那为何还要再引入Epoll这个东东呢?那还是有得说说的- 常用模型

Linux/Unix 下调试动态库(.so文件)

问题描述 Linux/Unix 下调试动态库(.so文件) 需要调试一个C语言编写的动态库,这个动态库也是我自己写的编译的时候加了-g参数. 但是这个动态库是给oracle数据库调用的,也就是在存储过程里面调用这个动态库.由于这个动态库是新写的,经常有问题需要用gdb跟踪代码调试.我要怎么做才能调试这个动态库呢??? 目前想到的一个办法就是再写一个C程序调用这个动态库然后gdb调试.但是这个动态库提供给数据库的接口很多全部写出来比较费时间.希望找个方便点的方法,类似于gdb直接调试运行中的程序.