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

任务: 安装 boxes

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

$ sudo apt-get install boxes

输出示例:

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

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

# yum install boxes

输出示例:

 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 :1.1-.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================
Package Arch Version Repository Size
==========================================================================
Installing:
boxes x86_64 1.1-.el6 epel k
Transaction Summary
==========================================================================
Install Package(s)
Total download size: k
Installed size: k
Is this ok [y/N]: y
Downloading Packages:
boxes-1.1-.el6.x86_64.rpm | kB :
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : boxes-1.1-.el6.x86_64 /
Installed:
boxes.x86_64 :1.1-.el6
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 命令来画出各式各样的图案 *

怎么样输出所有的图案

语法如下:

 boxes option
pipe | boxes options
echo "text" | boxes -d foo
boxes -l

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

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

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

 boxes -l
boxes -l | more
boxes -l | less

输出示例:

  Available Styles in "/etc/boxes/boxes-config":
-------------------------------------------------
ada-box (Neil Bird ):
---------------
-- --
-- --
---------------
ada-cmt (Neil Bird ):
--
-- regular Ada
-- comments
--
boy (Joan G. Stark ):
.-"""-.
/ .===. \
\/ \/
( \___/ )
_________ooo__\_____/______________
/ \
| joan stark spunk1111@juno.com |
| VISIT MY ASCII ART GALLERY: |
| http://www.geocities.com/SoHo/7373/ |
\_______________________ooo_________/ jgs
| | |
|_ | _|
| | |
|__|__|
/-'Y'-\
(__/ \__)
....
...
output truncated
..

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

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

!!date

或者

:r !date

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

Tue Jun  :: IST 

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

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

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

!!boxes

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

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

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

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

  1. Linux在终端命令行模式下智能补全功能以及组合键

    linux命令行下也有很多热键(快捷键).先来看看tab键 1.如果想看看linux下以c开头的命令可直接在命令行下敲入c然后连续敲两次tab,再选择y,会显示所有以c开头的命令. 2.涉及到文件时, ...

  2. Linux中在vim/vi模式下对文本的查找和替换

    查找: 1.vim  filename  进入一般模式下 2.查找和替换方法 /word    向下查找word 的字符串  例如  /chengtingting   向下查找字符chengtingt ...

  3. Linux Vi/Vim 在插入模式下键盘右边数字键输入异常

    问题:Linux在 Vi/Vim 在编辑文件时遇到一个问题,当我在 Insert 模式下进行修改文件内容的时候,用到了键盘(104键,右边带数字键那种)进行数字输入,当我输入数字 “5” 时,插入的数 ...

  4. 【Linux基础】VI命令模式下删除拷贝与粘贴

    在VI命令模式下:y 表示拷贝, d 表示删除,p标识粘贴 1.删除 dw 表示删除从当前光标到光标所在单词结尾的内容. d0 表示删除从当前光标到光标所在行首的内容. d$ 表示删除从当前光标到光标 ...

  5. Linux Shell脚本在service模式下的环境变量

    普通Shell脚本在终端下运行时,环境变量来自于init/profile/.bash_profile等,就是在当前终端下可以得到的环境,比如PATH.在service模式下,脚本运行在受限的环境中:比 ...

  6. linux driver ------ 三星公司uboot模式下更改分区(EMMC)大小fdisk命令 ------ iTOP4412 开发板烧写

    核心板 SCP 1G eMMC:KLM8G------>8G 终端(串口)输入(如果执行过,只需要执行最后一句即可): 开发板一启动,立马在终端按回车,进入 uboot 模式 fdisk -c ...

  7. linux 和win7 双系统模式下 忘记win7 密码的修改方法

    首先登陆linux系统,在linux 系统下找到win7系统的安装盘(比如为C盘), (1)进入到C://windows/system32下 找到osk.exe 文件,并将其剪切到其他的地方(记住这个 ...

  8. 【Linux基础】VI命令模式下大小写转换

    [开始位置] ---- 可以指定开始的位置,默认是光标的当前位置 gu ---- 把选择范围全部小写 gU ---- 把选择范围全部大写 [结束位置] ---- 可以跟着类似的w,6G,gg等定位到错 ...

  9. Linux每日练习-复习紧急救援模式下重改root权限密码 20200225

随机推荐

  1. Java GC系列(4):垃圾回收监视和分析

    本文由 ImportNew - lomoxy 翻译自 javapapers. 目录 垃圾回收介绍 垃圾回收是如何工作的? 垃圾回收的类别 垃圾回收监视和分析 在这个Java GC系列教程中,让我们学习 ...

  2. (13)odoo翻译

    -------------------更新时间:15:52 2016-09-28 星期三 增加模型名翻译17:26 2016-05-20 星期五17:58 2016-05-17 星期二12:14 20 ...

  3. HDUOJ---1236 排名(浙大考研题)

    排名 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  4. mvc json post执行顺序

    function GetFlightNo() {        var falg = false; var value = $("#No").val();        $.pos ...

  5. 30 个很棒的 PHP 开源 CMS 内容管理系统

    本文汇集了30个优秀的开源CMS建站系统,采用PHP开发.以下列表不分先后顺序. 1. AdaptCMS AdaptCMS Lite 是一个开源的CMS系统,主要特点是易用,而且可以轻松和其他系统接驳 ...

  6. __attribute__特性介绍以及变量和函数特定布局设置

    ARM的MDK编译__attribute__介绍:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348bc/Ciafc ...

  7. NGINX Plus 现在完全支持 HTTP/2

    早些时候,我们发布了支持 HTTP/2 协议的 NGINX Plus R7.作为 HTTP 协议的最新标准,HTTP/2 的设计为现在的 web 应用程序带来了更高的性能和安全性.(LCTT 译注: ...

  8. Js练习题之字符串转驼峰

    如border-bottom-color =>borderBottomColor 传传统方法 分析: 1.转大写,需要用到字符串的toUpperCase()方法 2.去掉-,需要用到字符串方法s ...

  9. HDU 4893 Wow! Such Sequence!(2014 Multi-University Training Contest 3)

    题意: 有三种操作: 1 x y: 表示给x位置加上y 2 x y:查询[x,y]的区间和 3 x y:将 [x,y] 区间上的数变为最接近的 Fibonacci. 思路: 1 操作按正常单调更新,区 ...

  10. C#获取指定日期为一年中的第几周

    /// <summary> /// 获取指定日期,在为一年中为第几周 /// </summary> /// <param name="dt">指 ...