linux下c的linux 清屏函数用什么函数

2013年7月 Linux/Unix社区大版内专家分月排行榜第二2012年6月 Linux/Unix社区大版内专家分月排行榜第二2011年5月 Linux/Unix社区大版内专家分月排行榜第二2011年4月 Linux/Unix社区大版内专家分月排行榜第二2011年3月 Linux/Unix社区大版内专家分月排行榜第二2010年10月 Linux/Unix社区大版内专家分月排行榜第二2010年9月 Linux/Unix社区大版内专家分月排行榜第二
2011年9月 Linux/Unix社区大版内专家分月排行榜第三2010年12月 Linux/Unix社区大版内专家分月排行榜第三2010年11月 Linux/Unix社区大版内专家分月排行榜第三2010年9月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。#&ctrl + l&- 清屏 。 cLear#&ctrl + c&- 终止命令。&#&ctrl + d&- 退出 shell,好像也可以表示EOF。&#&ctrl + z&- 将当前进程置于后台,fg还原。&#&ctrl + r&- 从命令历史中找 。 Reverse-i-search#&ctrl + a&- 光标移到行首 。 A#&ctrl + e&- 光标移到行尾。 End#&ctrl + u&- 清除光标到行首的字符 。U#&ctrl + w&- 清除光标之前一个单词 。Word#&ctrl + k&- 清除光标到行尾的字符。K#&ctrl + t&- 交换光标前两个字符。swiTch#&ctrl + y&- 粘贴前一ctrl+u类命令删除的字符。Y#&ctrl + p&- 上一条命令。Prev#&ctrl + n&- 下一条命令。Next#&ctrl + v&- 输入控制字符 如ctrl+v &ENTER&,会输入^M&#&ctrl + f&- 光标后移一个字符。Fore#&ctrl + b&- 光标前移一个字符。Back#&ctrl + h&- 删除光标前一个字符。H#&N+&ESC&+f&- 光标后移N个单词,N为1时可省略#&N+&ESC&+b&- 光标前移N个单词,N为1时可省略&#&ctrl + s&- 挂起当前shell。Stop#&ctrl + q&- 重新启用# &ESC&+d&从光标开始处删除到行尾。Delete#&!!&- 上一条命令&#&!-n&- 倒数第N条历史命令&#&!-n:p&- 打印上一条命令(不执行)&#&!?string?- 最新一条含有“string”的命令&#&!-n:gs/str1/str2/&- 将倒数第N条命令的str1替换为str2,并执行(若不加g,则仅替换第一个)使用vi编辑器(可用来编写程序,文本等),还有一个叫vim编译器,是vi的升级版。vi有三种模式:命令行模式、插入模式、底行模式。但也有的命令行模式和底行模式归到一起,即分成两种模式,一种是命令行模式,一种是插入模式。1)在终端中输入 vi fileName.suffixName(如 vi first.c或vi second.cpp)回车确定,相当于新建了一个记事本文件但还没保存。(注意这时是命令行模式,是无法输入字符的)2)按i进入插入模式(要进入插入模式才能输入字符)然后输入程序。3)按esc退出插入模式(进入命令行模式,用于复制、粘贴、删除字符等操作)4)在命令行模式下输入冒号“:”可退出命令行模式进入底行模式(光标位于屏幕的底行,用户可以进行文件保存或退出等操作)。5)在底行模式下按w保存,q退出,q!强制退出不保存,x退出并保存,一般可直接输入wq,回车,这样就保存并退出。6)接着用ls(即list,也可用dir)命令查看当前文件夹文件,用ls –l查看文件的详细信息。7)用gcc编译器编译刚才保存的C文件。方法:①gcc fileName.c(或gcc fileName.cpp)这样编译成的文件后默认命名为a.out②gcc fileName.c –o fileName.out,这样编译后的.out文件的名字就不会默认命名为a.out而是file_name.out了。8)如果要编辑已存在的文件,比如之前写的C程序有错误要修改,可在终端上输入vi fileName.c(或vi fileName.cpp),即可进入编辑。9)修改文件名:mv oldName newName(注意要在终端界面,而不要在vi的命令界面)10)运行fileName.out文件直接用“./fileName.out”,即用gcc编译器把“.c”文件编译成“.out”后,执行“.out”文件时,直接在文件名前加上“./”即可。注:GCC(GNU Compiler Collection)vi的删除与修改文件的命令(注意是在编辑模式下而不是插入模式下):x:删除光标所在字符。dd :删除光标所在的列。r :修改光标所在字元,r後接著要修正的字符。R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC]回到指令模式下为止。s:删除光标所在字元,并进入输入模式。S:删除光标所在的列,并进入输入模式。Linux下查看用户组的信息groups& 查看当前登录用户的组内信息groups user_name& 查看user_name用户所在的组,以及组内成员whoami& 查看当前登录用户名who& 显示目录登入系统的用户信息whois user_name 查找并显示用户信息w& 显示目前登入系统的用户信息finger& 查询用户的信息
最新教程周点击榜
微信扫一扫Linux下C/C++光标定位和清屏函数(printf)
Linux下C/C++光标定位和清屏函数(printf)
#include &stdio.h&
#include &unistd.h&
#define CLEAR() printf("\033[2J")
#define MOVEUP(x) printf("\033[%dA", (x))
#define MOVEDOWN(x) printf("\033[%dB", (x))
#define MOVELEFT(y) printf("\033[%dD", (y))
#define MOVERIGHT(y) printf("\033[%dC",(y))
#define MOVETO(x,y) printf("\033[%d;%dH", (x), (y))
#define RESET_CURSOR() printf("\033[H")
#define HIDE_CURSOR() printf("\033[?25l")
#define SHOW_CURSOR() printf("\033[?25h")
#define HIGHT_LIGHT() printf("\033[7m")
#define UN_HIGHT_LIGHT() printf("\033[27m")
int main(int argc,char **argv)
printf("\033[31mThe color,%s!\033[1m\n","haha");
printf("\033[31mThe color,%s!\033[4m\n","haha");
printf("\033[31mThe color,%s!\033[5m\n","haha");
printf("\033[31mThe color,%s!\033[7m\n","haha");
printf("\033[31mThe color,%s!\033[8m\n","haha");
printf("\033[31mThe color,%s!\033[0m\n","haha");
printf("\033[47;31mThe color,%s!\033[0m\n","haha");
printf("\033[47mThe color,%s!\033[0m\n","haha");
printf("\033[47m%s!\033[5A\n","up 5");
printf("\033[47m%s!\033[9B\n","down 9");
printf("\033[47m%s!\033[19C\n","right 19");
printf("right19");
printf("\033[47m%s!\033[10D\n","left 10");
printf("left 10");
printf("\033[47m%s!\033[50;20H\n","move to y:50,x 20");
printf("y50 x 20");
printf("\033[47m%s!\033[?25l\n","hide cursor");
printf("\033[47m%s!\033[?25h\n","sow cursor");
printf("\033[47m%s!\033[2J\n","clear scleen");
printf(“\033[47;31mhello world\033[5m”);
47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码
.颜色代码:QUOTE:字背景颜色范围:
40–49 字颜色: 30–39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m – \033[37m 设置前景色
\033[40m – \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标这样, 在某些时候就可以实现动态的输出.
47是字背景颜色, 31是字体的颜色, hello world是字符串. 后面的\033[5m是控制码.
字背景颜色范围: 40–49 字颜色: 30–39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m – \033[37m 设置前景色
\033[40m – \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标
这样, 在某些时候就可以实现动态的输出.
1b 5b 30 30 6d 1b 5b 30 30 6d ###### 1b 5b 30 30 6d 20
. [ 0 0 m . [ 0 0 m ###### . [ 0 0 m
其中###表示字符串。
.[00m.[00m 第一个.[00m表示颜色开始,第二个.[00m表示白色。
.[00m 表示颜色设置结束。
.[00m.[34m 第一个.[00m表示颜色开始,第二个.[34m表示蓝色。
.[00m 表示颜色设置结束。
.[00m.[00manaconda-ks.cfg.[00m .[01;34mDesktop.[00m .[00minstall.log.[00m .[01;34mpackages.[00m
manaconda-ks.cfg和 install.log是白色,Desktop和packages是蓝色。
m 设置显示属性. 同样的序列可以设置一个或多个属性.par 作用
0 所有属性重设为默认值
1 设置边框
2 设置亮度减半(用一种颜色模拟另一种颜色)
4 设置底纹(用一种颜色模拟另一种颜色)
(用于模拟的颜色由using ESC ] …设置)
5 设置闪烁
7 设置反转视频(reverse video)
10 重设选定映像,显示控制标记,
反转元素标记.
11 选择空映像,设置显示控制标记,
重设反转标记.
12 选择空映像,设置显示控制标记,
重设反转标记.(在完成映像表转
换之前反转标记引起每一字节的
高位反转.)
21 设置正常亮度(和 ECMA-48 不兼容)
22 设置正常亮度
24 关闭下划线
27 反转视频关闭
30 黑色前景
31 红色前景
32 绿色前景
33 棕色前景
34 蓝色前景
35 品红前景
36 孔雀蓝前景
37 白色前景
38 打开下划线,设置默认前景色
39 关闭下划线,设置默认前景色
40 黑色背景
41 红色背景
42 绿色背景
43 棕色背景
44 蓝色背景
45 品红背景
46 孔雀蓝背景
47 白色背景
49 设置默认背景色
下面的定义摘自:
,可见telnet与unix的渊源很深。
local BLUE=”[\033[0;34m]”
local LIGHT_GRAY=”[\033[0;37m]”
local LIGHT_GREEN=”[\033[1;32m]”
local LIGHT_BLUE=”[\033[1;34m]”
local LIGHT_CYAN=”[\033[1;36m]”
local YELLOW=”[\033[1;33m]”
local WHITE=”[\033[1;37m]”
local RED=”[\033[0;31m]”
local NO_COLOUR=”[\033[0m]”
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?C语言各种编译器的清屏方法 - 技术男的窝(搞定c、c++、java、linux、shell) - ITeye技术网站
博客分类:
1,vs/vc:vs本身并没有提供专用清屏的函数,但是清屏被作为windows专用的可执行程序了,因此可以使用system("cls")来手动开启进程完成清屏。
2,tc:清屏函数clrscr()
总结:在windows下无论你使用什么编译器,都可以使用system("cls")来清屏。同理,在linux下肯定可以调用清屏命令system("clear")来完成清屏。
浏览: 42892 次
来自: 北京Linux系统里如何彻底的清空屏幕?
Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕。但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了。但当用鼠标向上滚时,你仍然能看到之前的命令操作留下来的输出。当在处理大量的文本时,这种情况就会给我们带来麻烦。
网上能查到很多其它清空屏幕的方法,但基本上都是clear命令的变种。那么,如何能真正的清空屏幕呢?
很巧,我最近发现了一个命令,它能彻底的解决我们的问题。
printf “\033c”正是我们需要的命令。它是真正的清空了终端屏幕,它的功能跟DOS里CMD.EXE提供的CLS效果很相似。
但这个命令究竟是做什么的?它的工作原理是什么?
\x1B == 27 == ESC
于是,这个命令变成了&ESC&c,它是VT-XXX中表示“Full Reset (RIS)”的转义码。现今我们使用的所有的终端都是VT兼容的,但如果你发现自己使用的是一个非常奇怪的终端,那这个命令你可能用不了。printf是bash里内置的命令,内置命令的优先级比其它可执行文件要高。
我们还可以使用另外一个命令,reset,它也是清空终端屏幕,但我们仍然可以使用上下键查看历史命令。这个命令的一个缺点是,它执行起来有点慢,也许是因为它没有发送ESC c指令,但这个命令的兼容性显然比之前的那个要好。
reset命令在你的终端控制错乱时非常有用。你是否遇到过输入字符不出现在光标的位置的情况?当你敲击回车键时,新提示符并没有出现在新行上,而是出现在老提示符的前面?reset命令就是来修正这个问题的。你在CYGWIN上也能使用这个命令。 ?
分享这篇文章:
扫一扫二维码分享:
你也许会喜欢这些文章:
[英文原文: ]
对于这篇文章,你的反应是:
You had mail.
Paul read it, so ask him what it said.
本作品采用进行许可。
备案信息:京ICP备号 &&京公网安备00号
感谢你的参与互动。}

我要回帖

更多关于 linux下清屏命令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信