Linux 控制台编程

最初学习C语言的时候,只能在控制台上输出一些东西,和windows相比感觉非常的不实用,虽然也看见过一些程序能在控制台上输出炫酷的颜色的动画,但是基本语法还掌握不牢的时候,这样的程序也只能是欣赏一下,不敢想象自己去写这样的程序,后来也没再有机会研究这方面的东西。

今天,觉得控制台上输出只能顺序输出,最多也就是通过 \b 回退,不过这个回退也不过回退到行首,还有,虽然可以通过 \v 直接跳到下一行,但是:如何回退上上一行呢?如何在屏幕上指定坐标输出呢?

且看下面这个shell:

可以在控制台的右上角显示系统时间;

可见tput这个东西可以定位光标位置,那么tput是个什么东西呢?

其实,常用的clear命令就属于ncurses包

把ncureses-devel开发包安装一下就可以开发了; 文档: http://download.csdn.net/detail/Kevinxtq/1063483。该库方便开发terminal程序,当然没有该库也能做简单的光标定位,如:

在0行78列输出一个醒目的Hello World;  但是我不知道如何让光标回到原来的位置。

 

python 的snack模块就可以用于开发控制台窗口应用: http://www.wanware.com/tsgdocs/snack.html  linux上认证方式配置程序: authconfig-tui 就是使用python借助snack来实现的

 

php 也有ncurses的封装: http://php.net/manual/en/book.ncurses.php

实例:

https://devzone.zend.com/173/using-ncurses-in-php/

https://github.com/PHPGangsta/PHP-NCurses-Example

安装: yum install php-pecl-ncurses

 

参考资料:

http://bbs.chinaunix.net/thread-4179287-1-1.html

http://www.cnblogs.com/Xiao_bird/archive/2009/07/21/1527947.html

http://blog.csdn.net/chenxiaohua/article/details/2099304

http://download.csdn.net/detail/Kevinxtq/1063483

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据