您尚未登录。

#16 2012-05-26 16:54:19

自由建客
穷若韩信
所在地: 桂林市第六人民医院
注册时间: 2011-08-27
帖子: 250
个人网站

Re: 控制台清屏命令何在?

百合仙子 说:

tty 下,我这里 Ctrl-L、reset 均有效。Xfce 终端下 echo "\033[r\033[H\033[J" 有效。tmux 下均无效。

有效也只是清除当前屏幕而已,你按下 Shift + PageUp 看看,是不是还有内容!除非你 Alt + 2 切换到别的 tty 再切换回来。

离线

#17 2012-05-26 19:50:11

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 6,557
个人网站

Re: 控制台清屏命令何在?

自由建客 说:
百合仙子 说:

tty 下,我这里 Ctrl-L、reset 均有效。Xfce 终端下 echo "\033[r\033[H\033[J" 有效。tmux 下均无效。

有效也只是清除当前屏幕而已,你按下 Shift + PageUp 看看,是不是还有内容!除非你 Alt + 2 切换到别的 tty 再切换回来。

Shift + PageUp 不動的哦。

离线

#18 2012-05-27 12:35:06

YeLee
BOT
注册时间: 2011-08-19
帖子: 661

Re: 控制台清屏命令何在?

在debian那边找到了这条函数。

int clear_console(int fd)
{
  int num, tmp_num;
#if defined(__linux__)
  struct vt_stat vtstat;
#endif

  /* clear screen */
  setupterm((char *) 0, 1, (int *) 0);
  if (tputs(clear_screen, lines > 0 ? lines : 1, putch) == ERR)
    {
      exit(1);
    }

  if (is_pseudo_tty(STDIN_FILENO))
    return 0;

  if (!strcmp(getenv("TERM"), "screen"))
      return 0;

  /* get current vt */
#if defined(__linux__)
  if (ioctl(fd, VT_GETSTATE, &vtstat) < 0)
#elif defined(__FreeBSD_kernel__)
  if (ioctl(fd, VT_ACTIVATE, &num) < 0)
#endif
    {
      if (!quiet)
	fprintf(stderr, "%s: cannot get VTstate\n", progname);
      exit(1);
    }
#if defined(__linux__)
  num = vtstat.v_active;
#endif
  tmp_num = (num == 1 ? 2 : 1);

  /* switch vt to clear the scrollback buffer */
  if (ioctl(fd, VT_ACTIVATE, tmp_num))
    {
      if (!quiet)
	perror("chvt: VT_ACTIVATE");
      exit(1);
    }

  if (ioctl(fd, VT_WAITACTIVE, tmp_num))
    {
      if (!quiet)
	perror("VT_WAITACTIVE");
      exit(1);
    }

  /* switch back */
  if (ioctl(fd, VT_ACTIVATE, num))
    {
      if (!quiet)
	perror("chvt: VT_ACTIVATE");
      exit(1);
    }

  if (ioctl(fd, VT_WAITACTIVE, num))
    {
      if (!quiet)
	perror("VT_WAITACTIVE");
      exit(1);
    }
  return 0;
}

reset的确是会留下一行,但你用得着那么严谨吗?


小白路过,大家给点面子!

离线

#19 2012-05-27 14:21:36

自由建客
穷若韩信
所在地: 桂林市第六人民医院
注册时间: 2011-08-27
帖子: 250
个人网站

Re: 控制台清屏命令何在?

楼上威武

离线

#20 2012-06-02 01:45:20

ffwalle
机器人
注册时间: 2011-12-03
帖子: 393

Re: 控制台清屏命令何在?

难道不知道c-l么?


just for fun :-)

离线

#21 2012-06-02 19:00:41

自由建客
穷若韩信
所在地: 桂林市第六人民医院
注册时间: 2011-08-27
帖子: 250
个人网站

Re: 控制台清屏命令何在?

walle 说:

难道不知道c-l么?

看了这么多贴还没看懂需求?难道真是机器人?

离线

#22 2012-07-02 20:02:50

smilingliuwei
Progarmmer
所在地: 北京
注册时间: 2012-07-02
帖子: 13

Re: 控制台清屏命令何在?

终于碰见个我会的,Ctrl+c

离线

#23 2012-07-03 16:27:03

YeLee
BOT
注册时间: 2011-08-19
帖子: 661

Re: 控制台清屏命令何在?

嗯,楼上好建议,楼下说是不是? smile


小白路过,大家给点面子!

离线

#24 2012-07-03 16:37:34

jtshs256
论坛版主
注册时间: 2011-08-19
帖子: 294

Re: 控制台清屏命令何在?

lx 表示吐血了

离线

#25 2012-07-05 23:11:40

ffwalle
机器人
注册时间: 2011-12-03
帖子: 393

Re: 控制台清屏命令何在?

自由建客 说:

楼上威武

没看懂。


just for fun :-)

离线

页脚