clear(1) — Linux manual page


@CLEAR@(1)               General Commands Manual              @CLEAR@(1)

NAME         top

       @CLEAR@ - clear the terminal screen

SYNOPSIS         top

       @CLEAR@ [-Ttype] [-V] [-x]

DESCRIPTION         top

       @CLEAR@ clears your terminal's screen if this is possible,
       including the terminal's scrollback buffer (if the extended “E3”
       capability is defined).  @CLEAR@ looks in the environment for the
       terminal type given by the environment variable TERM, and then in
       the terminfo database to determine how to clear the screen.

       @CLEAR@ writes to the standard output.  You can redirect the
       standard output to a file (which prevents @CLEAR@ from actually
       clearing the screen), and later cat the file to the screen,
       clearing it at that point.

OPTIONS         top

       -T type
            indicates the type of terminal.  Normally this option is
            unnecessary, because the default is taken from the
            environment variable TERM.  If -T is specified, then the
            shell variables LINES and COLUMNS will also be ignored.

       -V   reports the version of ncurses which was used in this
            program, and exits.  The options are as follows:

       -x   do not attempt to clear the terminal's scrollback buffer
            using the extended “E3” capability.

HISTORY         top

       A clear command appeared in 2.79BSD dated February 24, 1979.
       Later that was provided in Unix 8th edition (1985).

       AT&T adapted a different BSD program (tset) to make a new command
       (tput), and used this to replace the clear command with a shell
       script which calls tput clear, e.g.,

           /usr/bin/tput ${1:+-T$1} clear 2> /dev/null

       In 1989, when Keith Bostic revised the BSD tput command to make
       it similar to the AT&T tput, he added a shell script for the
       clear command:

           exec tput clear

       The remainder of the script in each case is a copyright notice.

       The ncurses clear command began in 1995 by adapting the original
       BSD clear command (with terminfo, of course).

       The E3 extension came later:

       •   In June 1999, xterm provided an extension to the standard
           control sequence for clearing the screen.  Rather than
           clearing just the visible part of the screen using

               printf '\033[2J'

           one could clear the scrollback using

               printf '\033[3J'

           This is documented in XTerm Control Sequences as a feature
           originating with xterm.

       •   A few other terminal developers adopted the feature, e.g.,
           PuTTY in 2006.

       •   In April 2011, a Red Hat developer submitted a patch to the
           Linux kernel, modifying its console driver to do the same
           thing.  The Linux change, part of the 3.0 release, did not
           mention xterm, although it was cited in the Red Hat bug
           report (#683733) which led to the change.

       •   Again, a few other terminal developers adopted the feature.
           But the next relevant step was a change to the clear program
           in 2013 to incorporate this extension.

       •   In 2013, the E3 extension was overlooked in @TPUT@ with the
           “clear” parameter.  That was addressed in 2016 by
           reorganizing @TPUT@ to share its logic with @CLEAR@ and

PORTABILITY         top

       Neither IEEE Std 1003.1/The Open  Group  Base  Specifications
       Issue  7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents
       @TSET@ or @RESET@.

       The latter documents tput, which could be used to replace this
       utility either via a shell script or by an alias (such as a
       symbolic link) to run @TPUT@ as @CLEAR@.

SEE ALSO         top

       @TPUT@(1), terminfo(5), xterm(1).

       This describes ncurses version @NCURSES_MAJOR@.@NCURSES_MINOR@
       (patch @NCURSES_PATCH@).

COLOPHON         top

       This page is part of the ncurses (new curses) project.
       Information about the project can be found at 
       ⟨⟩.  If you have
       a bug report for this manual page, send it to  This page was obtained from the
       project's upstream Git mirror of the CVS repository
       ⟨⟩ on 2023-12-22.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2023-03-12.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to


Pages that refer to this page: setterm(1)user_caps(5)